Developer Tools

JSON to CSV

Convert a JSON array of objects into clean CSV for Excel or Sheets.

Rate this tool

How to use the JSON to CSV

  1. Paste a JSON array of objects.
  2. The columns are taken from all keys found.
  3. Copy the CSV and open it in any spreadsheet app.

About the JSON to CSV

This tool converts a JSON array of objects into CSV, the format spreadsheets understand. It scans every object in the array to collect the full set of keys, so no column is missed when records differ. Each key becomes a column in the header row, cells are left blank where an object lacks that key, and any value containing a comma, a double quote or a line break is wrapped in quotes with inner quotes doubled, exactly as the CSV convention requires. A single object on its own is accepted and treated as a one-row table.

It is the fastest way to turn an API response or a data export into something you can open in Excel, Numbers or Google Sheets. Conversion runs entirely in your browser, so records that might include customer or business data are never uploaded.

Know the limits before you paste. Nested objects and arrays are not flattened into extra columns — they are written into a single cell as JSON text. The delimiter is always a comma, so if your spreadsheet locale expects semicolons you will need to adjust on import, and the output carries no byte-order mark, which some versions of Excel want before they read accented characters correctly. The input must be objects; an array of bare strings or numbers has no keys to become columns. Going the other way is handled by CSV to JSON, and messy input is easier to inspect in the JSON formatter.

Frequently asked questions

What if my objects have different keys?

The tool collects every key it finds across all the objects and uses the union as the header row, leaving a cell blank wherever an object does not have that key. Columns appear in the order the keys were first encountered.

Does it handle commas inside values?

Yes. Any value containing a comma, a double quote or a newline is automatically wrapped in double quotes, and quotes inside the value are doubled, following the CSV standard.

Can I paste a single object instead of an array?

Yes. A lone JSON object is converted into a one-row table with a header. Anything that is neither an object nor an array of objects is rejected.

What happens to nested objects and arrays?

They are not spread across separate columns. A nested value is written into its single cell as JSON text, so you keep the data but will need to split it yourself if you want real columns.

Can I choose a semicolon or tab delimiter?

Not here. The output always uses commas, which is the CSV standard. If your spreadsheet expects semicolons because of its locale, choose comma as the separator in its import dialog.