Skip to content
Devtools 360

Convert JSON Arrays to CSV

Paste an API response or open a .json file and turn its array of objects into rows and columns. Nested objects are flattened into columns like customer.name, and every key that appears in any object gets its own column.

Runs in your browser (background worker)Free · No sign-up

How to convert JSON to CSV

  1. Paste JSON on the Paste text tab or choose a .json file; the input must be an array of objects.
  2. Choose the delimiter, how nested arrays are written (as JSON text or joined with semicolons) and the line ending.
  3. Tick Quote every field or Add UTF-8 BOM for Excel if the program you are importing into needs it.
  4. Check the preview table, then copy the CSV or download it.

Supported formats

Input
JSON
Output
CSV, TSV
Maximum size
50 MB per file (limited by your device's memory)

Opening the result in Excel

Excel on Windows assumes a legacy code page for CSV files unless they start with a byte-order mark, which is why names like José can appear garbled. Enable the BOM option to avoid that. If your region uses a comma as the decimal separator, Excel also expects semicolon-separated files. If the output looks messy, the CSV Formatter can re-delimit or trim it, and the CSV to JSON Converter reverses this conversion.

Benefits

  • Columns are the union of all keys, so objects with missing or extra fields still line up correctly.
  • Values containing delimiters, quotes or line breaks are quoted and escaped according to RFC 4180.
  • JSON syntax errors are reported with line and column so you can fix the input quickly.

Limitations

  • The top level must be an array of objects; a single object or an array of plain values is rejected with an explanation.
  • Deeply nested arrays of objects are written as JSON text in one cell rather than expanded into extra rows.
  • Very large numbers beyond JavaScript's safe integer range may lose precision when the JSON is parsed.

Privacy and security

Pasted JSON is converted by JavaScript in this tab; uploaded files are converted in a Web Worker on your device. The data is never sent to a server.

Read our privacy policy for details about the site as a whole.

Frequently asked questions

How are nested objects handled?

They are flattened with dot notation: {"customer": {"city": "Oslo"}} becomes a column named customer.city. Empty objects produce an empty cell.

My JSON has the array inside a property — what do I do?

The converter tells you which property holds the array. Copy just that array (from [ to ]) into the input, or extract it first with the JSON Formatter.

Should I use LF or CRLF line endings?

Either works in modern spreadsheet apps. RFC 4180 specifies CRLF, and some older Windows tools and banking systems require it; LF is the norm on macOS, Linux and in most code.