Convert JSON to CSV for spreadsheets
APIs, databases and logging tools speak JSON, but colleagues, clients and analysts often want a spreadsheet. This JSON to CSV converter turns a JSON array into a CSV file you can open in Excel, Google Sheets, Numbers or any data tool. Nested objects are flattened into their own columns, missing fields are handled gracefully and special characters are escaped correctly. The conversion runs in your browser, so your data stays private.
Features
- Arrays of objects, arrays of arrays or a single object as input.
- Flatten nested objects into columns such as
address.cityandaddress.country. - All keys become columns — objects with different fields are merged into one consistent table.
- Delimiter choice: comma, semicolon, tab (TSV) or pipe.
- Correct escaping of commas, quotes and line breaks according to the CSV standard.
- Excel-friendly UTF-8 option that adds a BOM so accents and non-Latin scripts display properly.
- Copy or download, with the original file name kept when you open a file.
Example
This JSON:
[
{ "id": 1, "name": "Ada", "address": { "city": "London" }, "tags": ["math"] },
{ "id": 2, "name": "Alan", "address": { "city": "Manchester" } }
]
becomes this CSV:
id,name,address.city,tags
1,Ada,London,"[""math""]"
2,Alan,Manchester,
The tags array is stored as JSON text in one cell, with its quotes doubled as CSV requires. The second row has no tags, so the cell is empty.
Tips
- Extract the array first. Many API responses wrap the list in an object, such as
{"data": [...], "page": 1}. Converting the whole object gives a single row; copy just the array for one row per item. - Choose semicolons for Excel in Europe. If Excel puts everything into one column, your system uses a comma as the decimal separator. Use the semicolon delimiter or import the file with Excel's Data › From Text/CSV.
- Validate first. If the JSON has a syntax error, the message shows where. The JSON Formatter can help you find and fix it.
Related tools
To convert in the other direction, use the CSV to JSON Converter. To compare two exports line by line, try the Diff Checker.