Runs in your browser · nothing is uploaded
JSON to CSV Converter
Turn a JSON file or API response into a clean CSV — nested fields flattened into columns, arrays handled the way you choose, and nothing uploaded.
How the conversion works
- Each item in the chosen array becomes one row. A single object becomes one row.
- Nested keys are joined with the separator:
customer.email. - Columns are the union of every record's keys, in first-seen order.
- Cells containing the delimiter, quotes or line breaks are quoted, with quotes doubled — standard CSV (RFC 4180).
Example
[{"id": 1, "user": {"name": "Ana"}, "tags": ["a","b"]},
{"id": 2, "user": {"name": "Ben, Jr."}}]becomes
id,user.name,tags 1,Ana,"[""a"",""b""]" 2,"Ben, Jr.",
Frequently asked questions
How do I convert JSON to CSV?+
Paste your JSON or open a .json file. Pick which list becomes the rows — the converter finds arrays of records anywhere in the file — choose how nested values and arrays are written, then download the CSV.
How are nested objects handled?+
With flattening on, nested keys become columns joined by a separator: {"customer": {"name": "Ana"}} becomes a customer.name column. Columns appear in the order they're first seen, so the same input always gives the same layout. Records missing a field get an empty cell.
What happens to arrays?+
Choose one of three: keep the array as JSON text in one cell, join simple values with “; ”, or give each item its own column (tags.0, tags.1 …). Arrays of objects can't be joined, so they stay as JSON text unless you choose separate columns.
What is “spreadsheet-safe” export?+
A cell that starts with =, +, −, @ or a tab can run as a formula when the CSV is opened in Excel or Google Sheets — a known risk called CSV or formula injection. Safe export puts an apostrophe in front of those cells in the download only. Plain numbers like −42 are left alone, and the preview always shows your original data.
Is my JSON uploaded?+
No. The file is read and converted in your browser. Nothing is sent to a server or stored.
Why does my file say “Not valid JSON”?+
The message gives the line and column where reading stopped. Common causes are a trailing comma, single quotes instead of double quotes, comments, or a missing closing bracket.