JSON to CSV
Export object arrays with delimiter, flattening, and formula-safe options.
Runs in your browser. Nothing is uploaded.
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, a tags: ["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 guide Convert 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, open CSV to JSON and remember that the reverse tool keeps every cell as a string.
FAQ
What happens when I drop JSON into JSON to CSV?
The file is read, parsed, and converted to CSV in your browser. The JSON is never uploaded, and the converter creates the CSV locally.
What JSON shape does this accept?
By default, the input must be an array whose items are plain objects, with each object becoming a row and each key becoming a column. Unwrap object/array also accepts one object or an object containing one array of objects, while Flatten nested turns non-empty nested objects into dot-path columns and leaves nested arrays as JSON text.
Are booleans and numbers converted to strings?
Yes. CSV cells are written as text such as true or 2 because CSV has no native JSON types. The reverse CSV to JSON tool also returns every cell as a string.
What if objects have different keys?
The header is the union of keys in the order they first appear across the normalized rows. A row that lacks 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, and other leading-hyphen strings are protected unless they are plain negative numbers. This formula-safe export reduces the chance that a spreadsheet program treats text as a formula.
What does the Excel BOM option change?
Excel BOM adds a UTF-8 byte order mark to the downloaded CSV file. It does not change the copied output or the JSON-to-CSV conversion rules.