JSON to CSV Converter
Paste your JSON and convert it to CSV instantly. It runs entirely in your browser, so your data is never uploaded.
More presets
Jump to another preset — each opens its own page ready to go:
How to convert JSON to CSV
- Paste your JSON into the box.
- Choose a delimiter — and, when the source is CSV, whether the first row is a header.
- Copy the CSV result.
About converting JSON to CSV
Converting JSON to CSV is a common step when moving data between spreadsheets, APIs and apps. This converter handles the details correctly — CSV fields wrapped in quotes can contain commas, line breaks and escaped quotes, and you can choose a comma, semicolon or tab delimiter.
The whole conversion runs in your browser, so even large or sensitive datasets never touch a server. Need to go the other way? Use the Swap button or the main CSV ⇄ JSON converter, which does both directions.
Takes an array of JSON objects and lays it out as CSV rows, unioning keys across objects so ragged data still lines up — a missing field is just an empty cell. Nested objects and arrays are not flattened: they are written into their cell as JSON text, which keeps the conversion lossless at the cost of nested columns.
Frequently asked questions
Is my data uploaded?
No — the JSON-to-CSV conversion happens entirely in your browser, so your data stays on your device.
Does it handle quotes and commas in fields?
Yes. CSV is read and written following RFC 4180, so quoted fields can safely contain commas, newlines and escaped quotes in either direction.
Can I change the delimiter?
Yes — choose comma, semicolon or tab, which covers standard CSV, European exports and TSV files.
Can I convert the other direction?
Yes. Hit Swap, or use the main converter, to go from CSV back to JSON.
How is nested JSON handled in the CSV?
A nested object or array lands in its column as literal JSON text rather than being spread into extra columns. If you need one column per nested field, flatten the structure first; if you just need the data preserved and re-parseable, the JSON-in-cell form does exactly that.