Convert JSON to CSV
Free online converter for JSON files. Delimiter-separated tabular data. Nothing to install, no watermark, and every file is deleted automatically.
Drag and drop your files
or
Upload a JSON file to convert it to CSV. Up to 3 files at once, 100 MB each.
Free · up to 3 files · 100 MB each · files deleted automatically after 1 hour.
About JSON and CSV
JSON .json
A structured text format for nested data. Unlike CSV it represents hierarchy, which is why nearly every web API speaks it.
Good for
- Represents nesting and lists, not just flat rows
- Parsed natively by essentially every language
- Readable, and precise about types
Trade-offs
- More verbose than CSV for plain tables
- Awkward to read in a spreadsheet without flattening
- No comments, and no native date type
application/json
CSV .csv
Rows of plain text with values separated by commas. No formatting, no formulas, no sheets — just the data, which is what makes it universal.
Good for
- Readable by every spreadsheet, database and programming language
- Tiny, and trivial to generate or parse
- Nothing hidden — the file is exactly what it appears to be
Trade-offs
- One table only: no sheets, formulas, colours or charts
- No standard for encoding, so accents and symbols often corrupt
- Commas and line breaks inside values need careful quoting
text/csv
JSON and CSV side by side
| JSON | CSV | |
|---|---|---|
| Compression | None — plain text | None — plain text |
| Animation | No | No |
| Typically used for | APIs, configuration, structured exports | Data exchange, imports and exports, reporting |
What changes when you convert JSON to CSV
Nesting has to be flattened
JSON holds trees — objects inside arrays inside objects — and a table has rows and columns and nothing else. An array of flat records converts cleanly, with the keys becoming the header row. Anything deeper has to be serialised back into a single cell, because a table has no way to express it. If your data nests, decide which level of it is the row before converting.
Read directly, never opened
No spreadsheet application is involved in this conversion. The file is parsed in our own process and the data is written straight out, which is both faster than launching an office suite and safer: macros in a workbook are never in a position to run, because nothing here is capable of running them. It also means the output is exactly the data, with none of an office suite's opinions about formatting applied on the way through.
The top level has to be a list of records
The converter expects an array of objects — the shape almost every API returns — and reads each object as a row. A single object, or a response with the real data nested under a wrapper key, does not describe a table on its own. If yours is wrapped, pull out the array before converting.
Read as UTF-8
A JSON is a text file, and a text file does not record which encoding it uses — that is the one thing the format cannot tell you about itself. We read it as UTF-8, which is right for essentially anything produced this decade. A file saved long ago in a regional encoding can arrive with accented characters mangled, and the fix is to re-save it as UTF-8 before converting rather than after. Tabs and spaces used to line columns up will also shift once the text is set in a proportional typeface.