Skip to content
Utilboxes

JSON to CSV

Turn a JSON array into a CSV you can open in a spreadsheet. Nested objects are flattened into dotted column names.

Runs entirely in your browser

How to use JSON to CSV

  1. 1Paste a JSON array of objects, or an object containing one.
  2. 2Choose the delimiter and how nested values should be handled.
  3. 3Check the preview table.
  4. 4Download the CSV or copy it.

How it works

The converter walks every record to build the complete column set, rather than assuming the first record has all the fields. Records with missing fields get empty cells, so nothing is silently dropped when the data is uneven — which real API responses usually are.

Nested objects are flattened into dotted paths, so { user: { name: 'Ada' } } becomes a column called user.name. Arrays can either be flattened into indexed columns (tags.0, tags.1) or joined into a single cell, depending on which is more useful for your data.

CSV escaping follows RFC 4180: a value containing the delimiter, a quote or a line break is wrapped in double quotes, and quotes inside are doubled. That is what stops an address with a comma from splitting into two columns.

There is one thing to watch when the CSV reaches Excel: a leading value like +44 or =SUM is interpreted as a formula. The tool prefixes such values with an apostrophe by default so they stay literal.

Everything runs in this page. Nothing you paste is transmitted, logged or stored, which is what makes it safe to drop a production payload in here while you are debugging.

Frequently asked questions

How are nested objects handled?
They are flattened into dotted column names, so a nested name field becomes user.name. Arrays can be indexed or joined into a single cell.
What happens if records have different fields?
Every record is scanned to build the full column set, and missing values become empty cells. Nothing is dropped.
Which delimiter should I use?
A comma for most purposes. Semicolons are the convention in locales where the comma is the decimal separator, and tabs are useful when values contain commas.
Why is there an apostrophe before some values?
Values starting with =, +, - or @ are treated as formulas by spreadsheet software. The apostrophe keeps them as literal text; you can turn it off if you know your data is safe.