Too Much Tools logoToo Much Tools

JSON ↔ CSV

Convert an array of JSON objects to CSV and parse CSV back to JSON, locally.

Local, Runs entirely in your browser, your data never leaves your device.
Loading tool…

Convert between JSON arrays and CSV tables

This tool turns an array of JSON objects into a CSV table, and reads CSV back into JSON, without a server round trip. It's built for exporting API responses into a spreadsheet, or turning a spreadsheet export into JSON for a script. Conversion happens in a Web Worker, so pasting a large export doesn't freeze the tab, and nothing you paste, whether it's customer rows or internal data, leaves your browser.

How to use the JSON ↔ CSV

  1. Paste a JSON array of objects into the left panel, or load the example.
  2. Click JSON → CSV to generate a header row and one line per object.
  3. Switch to CSV → JSON to parse pasted or exported CSV back into objects.
  4. Use the swap button to flip direction without retyping your data.
  5. Copy the result or send it straight to another tool with Send To.

Fields containing commas, quotes or newlines are wrapped in double quotes automatically, and embedded quotes are doubled per RFC 4180. Converting back to JSON coerces plain numbers, true, false and null into their JSON types; everything else stays or becomes a string.

If a row is missing a key that another row has, the column still appears with an empty value for that row; the header is the union of every object's keys, in first-seen order. Arrays of plain strings or numbers get a single column named value.

Frequently asked questions

How do I convert JSON to CSV in the browser?
Paste your JSON array on the left with the JSON → CSV direction selected; the tool generates a header row plus one row per object automatically, ready to copy or send to another tool.
Does converting CSV to JSON guess data types?
Yes. Plain integers and decimals become JSON numbers, and the literals true, false and null become their JSON equivalents; everything else, including empty fields, is kept as a string.
What happens to nested objects when I convert JSON to CSV?
Nested objects and arrays inside a row are serialized with JSON.stringify into a single cell rather than split into extra columns, so you keep the data but lose the structure in the spreadsheet view.
Is my data uploaded when I use this converter?
No. Both directions run in a Web Worker inside your browser tab; the JSON or CSV you paste is never sent to a server, which matters if you're converting exported customer or account data.