Back to Blog
Converter Guides5 min readDecember 20, 2025The Toolbox Team

How to Convert JSON to CSV

Learn how to convert JSON to CSV in your browser: paste data, pick a delimiter, flatten nested objects, and download a clean spreadsheet file.

Turn a JSON dump into a clean spreadsheet

JSON is great for APIs and config files, but it is a pain to read in bulk. When someone hands you an exported array of records — users, orders, log entries — and you want to open it in Excel, Google Sheets, or hand it to a non-technical colleague, you need it as CSV: one header row, one row per record, plain columns.

This guide walks through converting JSON to CSV using the browser-based JSON to CSV converter. Everything runs locally on your machine — your data is parsed and converted in the browser, with no upload, no account, and no server round-trip. That matters when the JSON contains customer emails, internal IDs, or anything you would rather not paste into a random website.

How to convert JSON to CSV

  1. Open the converter. Go to the JSON to CSV tool. You will see a JSON input pane on the left and a CSV output pane on the right. If you just want to see how it behaves, click Sample to load an example array of three records.

  2. Paste your JSON. Click into the input box and paste, or use the Paste button to pull from your clipboard. The tool accepts three shapes: an array of objects like [{"id":1},{"id":2}], a wrapped object like {"data":[ ... ]}, or a single object (which becomes one row). If the JSON is malformed, a red error tells you exactly what broke — fix the input and the output updates instantly.

  3. Pick your delimiter. In the Options bar, choose Comma, Semicolon, Tab, or Pipe. Comma is the default and works everywhere. Pick Semicolon if your data already contains commas and you are opening it in a European locale of Excel, or Tab if you need a TSV.

  4. Decide on nested objects. Leave Flatten nested objects on if your records contain sub-objects. A field like "address": {"city": "NYC"} becomes a single address.city column. Turn flattening off and that nested object is written into one cell as raw JSON instead. Arrays inside a record are always serialized into a single cell.

  5. Set header and quoting. Keep Include header row on so the first line names your columns — most spreadsheet apps expect this. Toggle Wrap all fields in quotes if a downstream tool is strict about quoting; otherwise the converter only quotes the fields that actually need it (values containing the delimiter, quotes, or line breaks).

  6. Check the preview. Below the panes, a table shows the first ten rows exactly as they will land in a spreadsheet, plus badges with the total row and column counts. Scan it to confirm the columns lined up the way you expected and no field got mangled.

  7. Copy or download. Click Copy to put the CSV on your clipboard for pasting straight into Sheets, or click .csv to download a converted.csv file you can double-click open. That is the whole job — paste in, convert, export.

Tips and common problems

  • "Item at index N is not an object." Your array contains a value that is not a record — a bare number, string, or nested array. CSV needs each row to be an object with named fields, so clean those entries out of the source first.
  • Columns don't match between rows. The converter builds the header from the union of every key it sees, in first-seen order. If some records are missing a key, those cells are simply left blank — that is expected, not a bug.
  • Numbers turned into text in Excel. That is Excel's import behavior, not the CSV. Use Data > From Text/CSV and set the column type, or save as a real spreadsheet — see the FAQ below.
  • A cell shows raw JSON like {"city":"NYC"}. Flattening is off, or the value is an array. Turn Flatten nested objects on to break sub-objects into their own columns.
  • Working with API or config data a lot? The browser-only approach to JSON, CSV, YAML and more is covered in the developer tools guide.

FAQ

Is my data uploaded anywhere? No. The conversion happens entirely in your browser using JavaScript — the JSON you paste never leaves your device, and there is no sign-up. You can confirm this by loading the page, going offline, and converting; it still works.

How do I get a real .xlsx file instead of CSV? CSV opens in every spreadsheet app, but if you need native Excel formatting and typed columns, convert your JSON to CSV here first, then run the result through the CSV to XLSX converter to get a proper workbook file.

What happens to deeply nested objects and arrays? With flattening on, nested objects are expanded into dotted columns like address.zip. Arrays, and any objects you choose not to flatten, are written into a single cell as compact JSON so no data is silently dropped. If you need to pull out one specific nested value before converting, a JSON path finder helps you locate the exact key.

Can I convert CSV the other way or into a Markdown table? This tool only goes JSON to CSV. If you have a CSV and want a Markdown table for docs or a README, use the CSV to Markdown converter instead.


Related tools: JSON to CSV, CSV to XLSX, and JSON to YAML.