T

JSON ↔ CSV

Flattens an array of objects into a table. Nested keys become dotted columns.

JSON
Loading editor…
0 B
CSV
Loading editor…
0 B

JSON to CSV Converter

Flattens an array of JSON objects into a comma-separated table, and reads CSV back into JSON. The result downloads as a .csv file that opens directly in Excel, Numbers or Google Sheets.

This is the fastest way to get an API response in front of somebody who works in a spreadsheet rather than a terminal.

How to use it

  1. Paste an array of objects on the left, such as an API response containing a list of records.
  2. The CSV appears on the right with a header row derived from the object keys.
  3. Press Swap to parse CSV back into JSON, or use the download button to save the table.

How nesting and missing fields are handled

Nested objects are flattened into dotted column names, so {"profile": {"city": "London"}} becomes a profile.city column. Arrays of simple values are joined with semicolons rather than exploded into numbered columns, which keeps the table readable.

Columns are the union of keys across every row, so a field present in only some records still gets a column instead of being dropped. Values containing a comma, a quote or a newline are quoted according to the CSV convention.

Frequently asked questions

What happens to deeply nested JSON?

It is flattened into dotted columns. A deeply nested document produces a wide table, so for genuinely tree-shaped data the JSON tree viewer is usually a better way to read it than a spreadsheet.

Are numbers and booleans preserved when reading CSV?

Yes. Values that look like numbers or booleans are converted back to those types rather than left as strings, so a round trip through CSV returns the types you started with.

Can I use a different delimiter?

Use the TSV converter for tab-separated output, which is what pastes most cleanly into a spreadsheet directly.

Related tools

Everything on this page runs in your browser. TurboParse is a static site with no backend, so nothing you paste is uploaded, logged or stored.

Last updated .