JSON to CSV
Turn a JSON array into CSV.
This runs in your browser. Nothing is uploaded.
Drop a file here or choose oneChoose file
What input it accepts
Paste a JSON array of objects. The header row is the union of object keys, in the order they first appear. By default, nested objects and arrays are written as JSON text in the cell. A row that is missing a key gets an empty cell for that column.
The Unwrap object/array option also accepts a single object or a one-property wrapper around an array of records.
Need the other direction? Use CSV to JSON.
Nested values and missing keys
The converter is designed for a list of records. It collects the union of keys as it reads the array, so the first row can establish some columns and a later row can add more. A missing property becomes an empty cell. A null value also becomes empty, while numbers and booleans are written as their normal text representation.
By default, nested objects and arrays stay in one cell as JSON text. For example, atags: ["json", "local"] value becomes a quoted CSV field containing JSON. Turn on Flatten nested to expand object keys into dot-path columns while arrays remain JSON in a cell. Review the output before exporting.
Formula-safe export
Spreadsheet programs can interpret a cell that starts with =, +,@, a tab, or a carriage return as an instruction. For string cells with those prefixes, this exporter adds a leading apostrophe before applying normal CSV quoting. Strings that start with - receive the same protection unless they are plain negative numbers such as -1 or -3.14. Number and boolean values from JSON are left as their number or boolean text.
The apostrophe is part of the exported text. That is intentional. It gives Excel-like programs a visible cue to treat the value as text instead of running it as a formula. The guideConvert JSON to CSV without Excel shows how to check the file before opening it in a spreadsheet.
Check the output before sharing it
Look at the header order, empty cells, quoted commas, and nested values before downloading. Conversion does not infer a schema, remove private fields, or clean bad data. It also does not upload the JSON. When you need to inspect the generated CSV as structured data, openCSV to JSON and remember that the reverse tool keeps every cell as a string.
FAQ
Does JSON to CSV upload my array?
No. Conversion runs in your browser. After the page loads, it still works in airplane mode. TheDevTab never receives the JSON.
What JSON shape does this accept?
A JSON array of objects by default. Each object becomes a row and keys become columns. You can also unwrap one object or an object containing one array of objects, and flatten nested object keys into dot-path columns. Nested arrays remain JSON text inside a cell. An empty array becomes empty CSV.
Are booleans and numbers converted to strings?
In the CSV they are written as text such as true or 2. CSV has no types. The reverse tool, CSV to JSON, keeps every cell as a string.
What if objects have different keys?
The header is the union of keys, in the order they first appear. A row that is missing a key gets an empty cell for that column.
How are formula-like cells exported?
String cells beginning with =, +, @, a tab, or a carriage return receive a leading apostrophe. Other strings beginning with - receive one unless they are plain negative numbers such as -1 or -3.14. This keeps spreadsheet programs from treating exported text as a formula.
Can CSV preserve nested JSON objects?
By default, nested objects and arrays stay as JSON text in one cell. Turn on Flatten nested to expand object keys into dot-path columns. Nested arrays still stay JSON in a cell.