Input
Ready
Lines: 0
Words: 0
Chars: 0
Size: 0 KB
Input statistics are available via the Stats button above this field.
Output
Lines: 0
Words: 0
Chars: 0
Size: 0 KB
Output statistics are available via the Stats button above this field.
Results are provided for informational purposes only and may contain errors. Please verify important information independently. Use of this tool is at your own risk.
What the JSON to CSV Converter does
The JSON to CSV Converter turns an array of JSON objects into a table: every object becomes a row and every key becomes a column. The result opens in Excel, Google Sheets, LibreOffice or any tool that imports CSV.
Nested objects are flattened into columns joined with an underscore, so address.city becomes a column named address_city. Arrays of simple values are joined into one cell, separated by a comma and a space. Values that contain commas are wrapped in double quotes, as the CSV format requires.
When to use it
- Handing API data to someone who works in a spreadsheet.
- Importing records into a system that only accepts CSV.
- Getting a quick overview of many similar objects, where a table is easier to scan than JSON.
- If you need a real Excel file with a sheet instead of plain text, use the JSON to Excel (XLSX) Converter.
Worked example
Input
[
{"id": 1, "name": "Ana", "address": {"city": "Lisbon"}, "tags": ["admin", "dev"]},
{"id": 2, "name": "Ben", "address": {"city": "Berlin"}, "tags": []}
]
Output
id,name,address_city,tags
1,Ana,Lisbon,"admin, dev"
2,Ben,Berlin,Common questions about the JSON to CSV Converter
What happens to nested objects?
They are flattened. Each nested key becomes its own column, with the parent and child names joined by an underscore, for example address_city.
What happens to arrays?
An array of simple values is written into a single cell, with the items separated by a comma and a space. The cell is quoted so the commas do not split it into extra columns.
Can I convert the CSV back to JSON?
Yes, with the CSV to JSON Converter. CSV has no data types or nesting, so numbers and booleans come back as text, and a column such as address_city stays a single key.