JSON to CSV Converter
Free online JSON to CSV Converter. No sign-up needed, and it runs in your browser.
Turn JSON into a CSV file for Excel or Google Sheets. Nested objects become columns like address.city, and you can download the result.
About JSON to CSV Converter
Handy when an API, database export or log gives you JSON but a colleague wants a spreadsheet. Every object in the array becomes a row, and every key found in any object becomes a column, so records with missing fields still line up. Nested objects are flattened into dot-named columns, you choose how lists are written, and a preview table shows the first rows before you download.
How to use JSON to CSV Converter
- Paste an array of objects, such as an API response or database export, into the Your JSON box.
- Choose the Separator, and how Lists of objects and Simple lists should be written into cells.
- Leave First row is the column names ticked for a header row, then check the preview table.
- Click Copy to take the CSV text, or Download CSV to save data.csv for Excel or Google Sheets.
How your data is handled
The conversion happens in your browser, with no extra downloads, so the JSON you paste and the CSV you save never leave your device. Nothing is uploaded or stored.
Limits and accuracy
- Cells starting with =, +, - or @ aren't escaped, so Excel may treat them as formulas; check data from outside sources.
- Numbers pass through the browser's JSON reader, so whole numbers above 2^53 lose precision; keep long IDs as strings.
- Excel may drop leading zeros from values like 007 when opening the file; import that column as text to keep them.
- Spreading long lists can create hundreds of columns, and the preview shows only the first 8 columns and 6 rows.
Questions and answers
How are nested objects handled?
Each nested key becomes its own column with a dot path, so an address object with a city gives an address.city column. Lists of plain values are joined into one cell, and lists of objects stay as JSON or spread into numbered columns.
Why does Excel put everything in one column?
Excel uses the list separator from your regional settings, and in many countries that's a semicolon rather than a comma. Choose Semicolon as the Separator and download the file again.
What if my JSON is an object, not an array?
If the object holds a list of records, such as {"data": [...]}, that first list is used for the rows. Otherwise the whole object becomes a single row, with its nested keys as columns.