How to convert JSON to CSV
- Paste JSON or open a .json file. An array of objects works best, but an object that contains an array, such as an API response with a data field, works too.
- Choose Convert to CSV. Check the preview, and change the rows array or array handling if the columns are not what you expected.
- Download the CSV and open it in Excel, Google Sheets or Numbers.
How the conversion works
| JSON | CSV column | Cell |
|---|---|---|
{"name":"Ana"} | name | Ana |
{"user":{"city":"Lisbon"}} | user.city | Lisbon |
{"tags":["a","b"]} | tags | ["a","b"] (or tags.0, tags.1) |
{"note":null} | note | (empty) |
{"ok":true} | ok | true |
Columns appear in the order their keys are first found. A record that lacks a key gets an empty cell, so records with different shapes still line up.
Opening the CSV in Excel
If Excel puts every value in column A, your region probably expects semicolons. Convert again with the Semicolon delimiter. “Protect against spreadsheet formulas” adds an apostrophe before values starting with =, +, - or @, so a cell from untrusted data cannot run as a formula. Turn it off if you need exact values for another program.
Invalid JSON? Find the error with the JSON formatter. Already have a CSV and need to search or edit it? Open it in the CSV viewer, which can also export rows as JSON. To confirm a downloaded export matches the publisher’s file, use the checksum generator.
Frequently asked questions
How are nested JSON objects converted to CSV?
Nested keys are flattened into column names joined with a dot. {"user":{"name":"Ana"}} becomes a column called user.name. Every key found in any row becomes a column, and rows without that key get an empty cell.
What happens to arrays inside each record?
By default an array is kept as JSON text in a single cell, such as ["red","blue"], so the column count stays predictable. Choose “Expand into numbered columns” to create tags.0, tags.1 and so on instead.
My JSON is an object, not an array. Which rows are used?
The converter looks for arrays inside the object, such as data, items or results, and uses the one with the most records. You can choose a different array, or convert the whole document as a single row.
Will large numbers or IDs be rounded?
No. Numbers are copied exactly as written in your JSON, so an ID such as 9007199254740993 is not rounded. Spreadsheet apps may still display long numbers in scientific notation; format that column as text after importing.
Is my JSON uploaded?
No. Conversion runs in a background worker in this browser tab. Your data is not sent to SuperUtils or saved, and the CSV is created on your device.