How to Convert JSON to CSV (and Open It in Excel)
Spreadsheets are still where a lot of data analysis happens, and spreadsheets understand CSV, not JSON. Converting JSON to CSV is a common task — here is how to do it cleanly, including the tricky parts like nested data and delimiters.
The data shape that converts cleanly
CSV is a table: rows and columns. JSON converts to CSV most naturally when it is an array of objects, where each object becomes a row and each key becomes a column.
[
{ "name": "Ada", "city": "London" },
{ "name": "Alan", "city": "Manchester" }
]This turns into two columns (name, city) and two data rows — exactly what a spreadsheet expects.
Handling nested objects
Real data is rarely flat. When an object contains nested objects, enable flattening: nested keys become dotted column headers such as address.city. This keeps every value in the table without losing its meaning.
Choosing the right delimiter
- Comma — the standard, works in most tools.
- Semicolon — required by Excel in some European locales where the comma is a decimal separator.
- Tab — useful when your values themselves contain commas.
Opening it in a spreadsheet
Paste your JSON into the JSON to CSV converter, pick your delimiter and toggle headers on, then copy the result. In Google Sheets you can paste directly and use Data → Split text to columns. In Excel, save the output as a .csv file and open it, choosing the matching delimiter if prompted.
Frequently asked questions
Why is my CSV all in one column in Excel?
Excel is using a different delimiter than your file. Either re-export with the delimiter Excel expects (often a semicolon), or use Excel’s Text Import wizard to pick the correct one.
Can I convert nested JSON to CSV?
Yes. Enable flattening so nested objects become dotted columns like address.city. Deeply nested arrays may need to be simplified first.