Skip to content
Toolspike

JSON to CSV

Convert an array of JSON objects into CSV using the union of all keys, with an explicit policy for nested data.

Runs in your browser — nothing is uploaded

Free trial: 1 run of JSON to CSV every day. After that, 2 credits per run.

Flatten a JSON array into a spreadsheet-ready CSV

Give it an array of objects and get CSV back, written to RFC 4180 so quotes and embedded commas survive. Nested objects become dotted column names such as user.id, arrays are written as JSON text in the cell, and the column set is the union of every key across every row — so no field is dropped because it was missing from the first record.

What JSON to CSV gives you

Union of all keys

Columns come from every row, not just the first, so an optional field present only near the end still appears.

Nested objects flattened

A nested object becomes dotted columns, turning a tree into the grid a spreadsheet needs.

Four delimiters

Comma, semicolon, tab or pipe, for whichever locale or tool will read the file next.

Correct quoting

Values containing the delimiter, quotes or line breaks are escaped properly instead of breaking the row.

Clear input errors

If the root is not an array, or an element is not an object, you are told which index is at fault.

How to use JSON to CSV

  1. Paste your JSON

    It must be an array of objects at the top level.

  2. Choose a delimiter

    Comma suits most tools; semicolon is common in Europe.

  3. Convert

    Columns are collected and the rows written out.

  4. Download the CSV

    Open it in Excel, Numbers, Sheets or any text editor.

Other names for this tool

People also look for this as JSON to CSV converter, JSON to spreadsheet, export JSON as CSV, flatten JSON to table and convert JSON array to CSV. It is the same tool on this page.

Looking for the opposite job? CSV to JSON.

Limitations

  • Values are not escaped against spreadsheet formula injection.

Questions about JSON to CSV

What happens to nested objects?

They are flattened into dotted column names, so { user: { id: 1 } } becomes a column called user.id. Arrays are stringified as JSON.

Is the output safe to open in a spreadsheet?

Fields are quoted per RFC 4180, but values beginning with =, +, - or @ are written unchanged. Treat CSV from an untrusted source with care in any spreadsheet.

How do I convert a JSON array to CSV?

Paste an array of objects, choose a delimiter, and convert. The columns are collected from every row and the file is written to RFC 4180, so quotes and embedded commas survive being opened in a spreadsheet.

Why is my JSON being rejected?

The top level must be an array of objects. A single object needs wrapping in square brackets first, and if any element is not an object you are told which index is at fault rather than getting a half-written file.

Will a field missing from the first record still appear?

Yes. Columns are the union of every key across every row, so an optional field that only shows up near the end of the data still gets its own column rather than being silently dropped.

Which delimiter should I pick?

Comma for most tools. Semicolon often works better in locales where the comma is the decimal separator, which is why many European spreadsheet exports use it. Tab and pipe are there for systems that expect them.

Is the CSV safe to open directly in Excel?

Review it first if the data came from somewhere you do not control. Leading =, + and @ characters are not escaped, so those cells can be interpreted as formulas when a spreadsheet opens the file.