What this tool does
Paste a JSON array of objects and get back a CSV file — one row per object, with a header row built from the union of every key it finds. It also accepts a single JSON object (converted to a one-row CSV) or a flat array of strings/numbers (converted to a single-column CSV).
How nested data is handled
Nested objects are flattened into dotted column names — a value at { "user": { "name": "Ada" } } becomes a column named user.name. Arrays found inside a value (including arrays of objects) are kept as their JSON string representation in that cell, since CSV has no native way to represent nested lists.
Why convert JSON to CSV
- Open data in a spreadsheet. Excel, Google Sheets, and Numbers all understand CSV natively — API responses and export files usually don't.
- Feed data into tools that expect tabular input. Many analytics tools, BI dashboards, and import wizards only accept CSV.
- Quick sanity checks. Scanning a table of rows and columns is often faster than reading deeply nested JSON.
FAQ
What if my objects have different keys?
The header row includes every key seen across all objects. Rows missing a given key just get an empty cell in that column.
Can I choose a different delimiter?
Yes — comma, semicolon, and tab are all supported, which covers the regional CSV conventions most spreadsheet software expects.
Is my JSON uploaded anywhere?
No — the conversion happens entirely in your browser. Nothing is sent to a server.