Skip to content

Convert JSON to CSV

Flatten a JSON array into CSV you can open in a spreadsheet.

Runs in your browser — nothing is sent anywhere.

Flattening an array into rows

Give it an array of objects and each object becomes a row, with the keys as column headers. A single object is treated as a one-row table.

Columns are the union of every key across every row, not just the keys of the first one. That detail matters: JSON from an API frequently omits null fields, so taking the first object's keys as the schema silently discards data that appears only in later rows. Missing values become empty cells.

Quoting is handled properly

Any value containing the delimiter, a quote, a newline or leading and trailing whitespace is wrapped in quotes, with internal quotes doubled — the actual CSV convention. Without that, a single address field with a comma corrupts the entire file for whoever opens it next.

Nested objects

CSV is flat and JSON is not, so a nested object or array has nowhere to go. Nested values are serialised as JSON text inside their cell, which preserves the information rather than losing it. If you need nested fields as real columns, flatten the structure before converting.

Delimiters and Excel

Comma is standard. Semicolon is what Excel expects in locales where the comma is a decimal separator — pick it if your spreadsheet opens the file as one long column. Tab-separated output is the most robust choice when the data itself contains many commas.

It runs in your browser

Nothing is uploaded, which matters because JSON exports routinely contain personal data. Everything is computed on your device.

01

Common questions

What if my objects have different keys?

Columns are the union of all keys across all rows, so nothing is dropped. Missing values become empty cells.

How are nested objects handled?

They are written as JSON text inside the cell. CSV is flat, so flatten first if you need real columns.

Why does Excel put everything in one column?

Your locale expects semicolons. Choose semicolon as the delimiter.

Are commas inside values escaped?

Yes, values are quoted and internal quotes doubled, following the CSV convention.

Is my data uploaded?

No, conversion happens in your browser.