JSON to CSV Converter
Flatten JSON arrays into CSV spreadsheets
Spreadsheets want a rectangle, JSON gives you a list of records whose keys are not guaranteed to match, and the interesting decision in this conversion is what the header becomes. It is built from every key that appears anywhere in the array, in the order they were first seen, so a field missing from a record leaves a blank cell rather than shifting the columns. Nothing is flattened: a nested object is written as its default string form, which is not something you want in a spreadsheet, and an array of values is joined with commas and then quoted so the file stays valid. Values containing commas, quotes or line breaks are escaped properly, and a cell that was null becomes an empty field. Input has to be a non-empty array of plain objects; anything else is refused with the reason.
Turn arrays of JSON objects into CSV spreadsheets you can open in Excel or Google Sheets, and convert CSV back into JSON. Handles nested fields, quotes and escaping correctly.
Private JSON to CSV Converter In Your Browser
JSON to CSV Converter is processed locally with client-side JavaScript. Your files never touch a server, and there is no queue to wait in.
How to use JSON to CSV Converter
Open the JSON → CSV tab and paste an array of flat objects into the input area.
Read the header row the tool derives from the union of all keys.
Copy the result or download it as converted.csv for a spreadsheet.
Check any nested object or array values yourself, since they are not expanded into columns.
- Header built from every key in the array, in first-seen order
- Records missing a key produce a blank cell rather than a shifted column
- Commas, quotes and line breaks inside values escaped to the CSV rules
- Copy and download controls, with the file offered as converted.csv
- A data analyst loading an API response of records into a spreadsheet without scripting first.
- A support engineer sending a list of exported records to someone who will work in Excel.
- A developer producing a small seed file for a database import that expects delimited text.