JSON to CSV converter

Convert JSON to CSV in your browser: nothing is uploaded, there is no limit on the size, and a JSON array of objects becomes a table you can open in Excel, Numbers or Google Sheets.

Separator

How it works

  1. Paste your code

    Paste the code in the left box or open a file. No code to hand? Click Example.

  2. Instant result

    The result appears as you type. If there is an error, you see the line and character.

  3. Copy or download

    Copy the result with one click or save it as a file for your editor or project.

How does JSON become a table?

Every object becomes a row and every key a column. Nested objects are flattened with a dot, so address.postcode gets its own column. Arrays inside an object are written as JSON text in one cell. If an object lacks a key, that cell stays empty.

Comma or semicolon?

Google Sheets and English versions of Excel expect a comma, which is the default here. Many European versions of Excel expect a semicolon, because the comma is their decimal separator; with that option 41.5 is written as 41,5. Cells that contain the separator, quotes or line breaks are quoted properly.

Going the other way? Use CSV to JSON.

Preparing your JSON

The converter expects an array of objects, like an API response of a list of records. If your data is wrapped in an object, such as {"data": [ … ]}, paste only the array. Objects do not need to have the same keys: the columns are the combination of all keys, and a missing value is an empty cell.

Nested data

Nested objects are flattened with a dot (address.city), which gives readable column names. Arrays inside records cannot be flattened without inventing rows, so they are written as JSON text in one cell. If you need one row per item of such an array, restructure the data before converting.

Opening the file in Excel

If special characters such as é look wrong after opening a CSV in Excel, import the file via Excel's data import and choose UTF-8, or use Google Sheets, which reads UTF-8 correctly.

To go back to JSON, use CSV to JSON. To check the structure before converting, format your JSON with the JSON formatter.

Frequently asked questions

What happens to nested objects?

They are flattened with a dot, so address.city becomes its own column.

What if my objects have different keys?

The CSV gets a column for every key that appears, and cells where an object has no such key stay empty.

Why do my columns not split in Excel?

Your version of Excel probably expects a semicolon. Use the semicolon option.

Is my JSON uploaded?

No. It is converted in your browser and never leaves your device.