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.
Updated
How to use JSON to CSV
- 1Paste a JSON array of objects, or an object containing one.
- 2Choose the delimiter and how nested values should be handled.
- 3Check the preview table.
- 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.