JSON to CSV

Flatten JSON to CSV.

No upload

Loading tool…

Processing happens on your device using your browser's CPU/GPU. Results are kept only in this tab's memory and are wiped when you click “Clear” or close the page.

About JSON to CSV

The opposite direction: take a JSON array from an API and get a CSV you can open in Excel or Google Sheets. Nested objects are flattened into dot.notation columns, so a customer with an address object becomes address.city and address.pin columns. Handy when you need to hand raw API data to someone who works in spreadsheets. Everything is converted inside your browser.

How to use JSON to CSV

  1. Paste a JSON array into the left pane, or open a .json file.
  2. Choose the delimiter: comma for Excel and Sheets, semicolon or tab if your locale needs it.
  3. Watch the CSV build on the right as you type, with dot.notation columns for nested fields.
  4. Download it as data.csv and open it in your spreadsheet app.

What people use it for

  • Giving an accountant or manager an API export they can open in Excel
  • Turning a MongoDB or Firebase dump into rows for a pivot table
  • Preparing a bulk upload sheet for a portal that only accepts CSV
  • Comparing two API responses side by side in a spreadsheet

Good to know

The input should be an array of objects; if you paste a wrapper object, the first array property inside it is used. Nested arrays are written as JSON text in a single cell rather than split into columns. Records with different keys still line up, with empty cells where a field is missing. Excel may need semicolons in some regional settings.

Frequently asked questions

How are nested objects handled?
They are flattened with dots, so {"address":{"city":"Delhi"}} becomes a column named address.city. Arrays inside a record are kept as JSON text in one cell.
My JSON is an object, not an array. Will it work?
Yes. The tool looks for the first array property inside the object and converts that. If there is none, the single object becomes one CSV row.
Why does Excel put the whole row in one column?
Your Excel locale expects semicolons as separators. Switch the delimiter to Semicolon here, or use Data then Text to Columns in Excel.
Is the file sent to a server?
No. The conversion runs on JavaScript in your browser, so your data never leaves the device and nothing is stored after you close the tab.