Converters & Dev

JSON to CSV

Paste a JSON array — an API response, an export, a log — and get a CSV that opens straight in Excel or Google Sheets. Nested objects become their own columns.

Your JSON

CSV

Rows
—
Columns
—

JSON into a spreadsheet

APIs return JSON; people want it in Excel. The gap is that JSON is a tree and a spreadsheet is a grid, so nested objects have to be laid out flat. This converter walks every record, collects the keys it finds, and writes one column for each — including nested ones, written as city.name.

What it handles

How to use the converter

  1. Paste the JSON. If the array sits inside a wrapper, type its path — data.items — in the path box.
  2. Choose a separator. Excel in many non-English locales expects a semicolon, not a comma.
  3. Download the CSV. Leave the BOM switch on so Excel shows Bangla and accented text correctly.

Why the BOM matters

Excel assumes a CSV is in the local Windows encoding unless the file starts with a byte-order mark. Without it, Bangla, Arabic, Chinese and even accented European letters come out as garbage. The mark is three invisible bytes, and Sheets, Numbers and every modern tool ignore it.

The other direction

To go from a spreadsheet back to JSON, use CSV to JSON. To tidy JSON before converting it, JSON Formatter will indent it and point out syntax errors.

Frequently asked questions

How do I convert JSON to CSV?

Paste a JSON array above and the CSV appears immediately. Keys become column headers, nested objects become dotted columns such as city.name, and you can download the file for Excel.

What happens to nested objects and arrays?

Nested objects are flattened into separate columns by default. Arrays, and objects when flattening is switched off, are written back into the cell as JSON so nothing is lost.

Why does Excel show my Bangla text as symbols?

Because it is reading the file in the wrong encoding. Keep the BOM switch on when you download — those few extra bytes tell Excel the file is UTF-8.