All tools

JSON to CSV

Turn an array of JSON objects into a CSV that Excel and Sheets open. Free, with no account or uploads.

Paste JSON to turn it into CSV

Each object becomes a row and each key a column. Nested values are kept as JSON text.

Paste below or drop a text file here · up to 10 MB

CSV/table view need an array of objects. CSV imports keep cells as strings. YAML aliases, merge keys, custom tags and non-string keys must be expanded or converted first. Types/schemas describe one sample and need review.

Results appear here; your source stays intact.
Start with a document or try the example.Ctrl/Cmd + F to find · Ctrl/Cmd + Z to undo · Escape, then Tab to leave the editor

Source, comparison and schema text stay in this tab and clear on refresh. Files are not uploaded. The editor never runs pasted JavaScript. Cancel stops the worker without changing your source.

How it works and help
One workspace. All on your device.
5 million characters · 100 levels · 100,000 values

A little help along the way

Say what you want to do: make it readable (Edit, to format or repair), look through it (Explore), turn it into CSV or YAML (Convert) or compare two (Compare). The page says at once whether your JSON is valid. Under More options every workflow has its tab, with Query to select data and Schema to check a contract. Results stay separate until you choose Use result as source.

Questions people ask

What shape of JSON can become CSV?
An array of objects. Each object becomes a row and every key found in any of them becomes a column; a key an object lacks is left as an empty cell.
What happens to nested objects and arrays?
They are written into their cell as JSON text, such as ["tea","cups"]. CSV has no way to hold nesting, so turning the CSV back into JSON gives that text, not the original structure.
Why do some cells start with an apostrophe?
Protect spreadsheet formulas is on: a cell starting with =, +, -, @ or a tab gets an apostrophe so that Excel or Sheets does not run it as a formula. Untick it to keep the text exactly.

This page is the JSON formatter, opened for this one job; every other tool it has is one press away. Each of its settings is explained on the JSON formatter's own page.