HexaConverter
jsoncsv

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 compared with CSV
JSONCSV
CompressionNone — plain textNone — plain text
AnimationNoNo
Typically used forAPIs, configuration, structured exportsData 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.

Other JSON conversions

Other ways to get CSV

JSON to CSV questions