JSON to CSV
Convert a JSON array of objects to CSV rows. Paste JSON on the left; the CSV output builds on the right as you type.
[
{ "id": 1, "name": "Ada Lovelace", "role": "engineer" },
{ "id": 2, "name": "Grace Hopper", "role": "engineer" }
]
becomes
id,name,role
1,Ada Lovelace,engineer
2,Grace Hopper,engineer
Each object in the array becomes one row. The header row is built from the keys across every object, in the order they first appear, so a key that only shows up in a later object still gets its own column with earlier rows left blank in it.
Flattening nested data
CSV can’t represent a nested object inside a cell the way JSON can, so a value like { "user": { "id": 1, "address": { "city": "Rome" } } } becomes columns user.id and user.address.city by default. Array values nest the same way, with the index in the column name: tags.0, tags.1. Turn off Flatten nested if you’d rather keep the original structure as a JSON string in one cell, which some spreadsheet-adjacent tools can round-trip back into an object.
Quoting
A cell containing a comma, a double quote, or a line break gets wrapped in double quotes, with any internal quote doubled, matching the CSV format most spreadsheet software expects. You don’t need to pre-escape anything in your JSON strings.
Choosing the delimiter
The Delimiter control on the output side defaults to comma. Switch it to semicolon for regions where the comma is the decimal separator, or to tab, which is the same as using the TSV output format directly.