Skip to content
Utilboxes

JSON to CSV

Paste a JSON array of objects, choose the delimiter and how arrays are handled, check the preview and download the CSV. Every record is scanned for columns, so missing fields become empty cells, and nested objects become dotted columns such as user.name. Values that look like spreadsheet formulas are kept literal. Nothing is uploaded.

Runs entirely in your browser

Updated

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.

Tips and common mistakes

  • Feed it an array of objects; each object becomes a row.
  • Choose whether arrays become indexed columns or a single joined cell, depending on how you will use the data.
  • Keep the formula protection on when the CSV is going into a spreadsheet.
  • Open a sample in your spreadsheet before converting a large export, to check the delimiter suits your region.

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.
What JSON shape does it accept?
An array of objects, or an object that contains one, such as an API response with a results array.
Will Excel open the CSV correctly?
Yes, as long as the delimiter matches your system's settings. In many European regions spreadsheets expect a semicolon rather than a comma, so choose that delimiter if columns arrive merged.
Is my data uploaded?
No. The conversion runs in your browser.

Guides