JSON to CSV

Paste a JSON array of objects and get a CSV table back, ready to open in a spreadsheet. Nested objects are flattened into dotted column names like address.city, list values are joined into one cell, and any field holding the delimiter, a quote or a line break is quoted properly. The conversion runs in this browser, so your data is never uploaded.

Paste JSON above to convert it to CSV.

CSV is a flat format. Nested objects become dotted column names and lists are squeezed into a single cell, so a deeply nested structure does not survive the trip unchanged — converting the result back to JSON will not rebuild the original shape. Values are quoted only when they contain the delimiter, a double quote or a line break, and quotes inside a value are doubled. Rows end with a single newline and the file is plain UTF-8 with no byte-order mark; tab-delimited output is still saved as data.csv, so rename it if your tool expects .tsv. Everything is parsed and built in this browser and nothing is uploaded.

How to convert JSON to CSV

  1. Paste your JSON — an array of objects, or a single object — into the box.
  2. Pick a delimiter and choose whether the first line should be a header row.
  3. Check the row and column count, then copy the CSV or download it as a file.

When you'd use this

Good to know

Frequently asked questions

What JSON does this accept?

An array of objects is the usual input, and each object becomes one row. A single object works too and gives you one row. An array of plain numbers or strings is rejected, because there are no keys to build columns from.

How are nested objects handled?

They are flattened with dot notation, so {"user":{"city":"Oslo"}} becomes a column called user.city. There is no depth limit. An empty nested object has no keys inside it, so it adds no column at all.

What happens to a value containing a comma or a quote?

The field is wrapped in double quotes and any double quote inside it is doubled, which is the usual CSV convention. A line break inside a value is kept as it is and the field is quoted, so the row still reads back correctly.

Can it convert CSV back into JSON?

Not on this page — the CSV to JSON tool goes the other way. Keep in mind that a round trip will not rebuild nested objects or arrays, because CSV has no way to record them.

Is my data uploaded anywhere?

No. The JSON is parsed and the CSV is built by JavaScript running in your own browser, and the download is created from the text already on the page. Nothing is sent to a server.