JSON to CSV

JSON in, a spreadsheet-ready table out.

FREE - NO SIGN-UP - RUNS ON YOUR DEVICE

Runs in your browser tab

  • CSVout
  • 3delimiters
  • 0uploads
  • 1 tapto save
Specification

JSON to CSV at a glance

Opens on
JSON into CSV
Rows
One row per item
Nested values
Flattened to dotted paths
Array items
Numbered: tags.0, tags.1
Delimiter
Comma, semicolon or tab
Price
Free
Account needed
None
Where processing happens
On your device
How to

How to use JSON to CSV

  1. 1

    Paste your JSON

    Paste your JSON.

  2. 2

    Choose the delimiter

    Choose the delimiter.

  3. 3

    Copy or download

    Copy or download.

Questions

Frequently asked questions

How is nested JSON handled?

Every leaf becomes its own column, named by the path that reaches it. An address object with a city field becomes a column called address.city.

What happens to lists inside a row?

They are numbered. A tags list becomes columns tags.0, tags.1 and so on, so nothing is dropped and every value keeps a place of its own.

Do rows need the same keys?

No. Every key seen anywhere becomes a column, and a row missing that key gets an empty cell rather than being pushed out of line.

Background

Before you open it in a spreadsheet

The panel opens already set to JSON in and CSV out. A list of objects becomes one row each, and anything nested becomes one column per leaf, named by its dotted path.

  • Set the delimiter to match what your spreadsheet expects in your region.
  • Deeply nested data makes very wide tables: consider trimming the JSON first.
  • Rows with different keys still line up, with an empty cell where a key is missing.

Full specification

Specification of the JSON to CSV tool
Opens onJSON in, CSV out. Both selectors change without leaving the page.
RowsA list at the top level becomes one row per item. A single object becomes one row.
Nested valuesFlattened to one column per leaf, named by its dotted path: address.city, not address.
Array itemsNumbered in the column name, so a list of tags becomes tags.0, tags.1 and so on.
DelimiterComma, semicolon or tab, with a switch for whether a header row is written.
PriceFree. Supported by clearly labelled ads outside the working area.
Account neededNo.
Where processing happensIn your browser tab. Nothing is uploaded.
Next step

Keep going with the same files

All developer tools: Developer tools on SPOTTOOLS