Free web tool
JSON to CSV
Convert JSON from an API, a survey tool or a database export to a CSV file or an Excel workbook. Nested objects become columns, every key gets a column, and long numeric IDs are kept digit for digit. The file is read on your device. Nothing is uploaded.
Bytes of your files sent anywhere: 0
Files are read and converted in this tab, in a background worker. The only requests the page makes are for its own scripts. Your files are never sent anywhere.
How it works
The page looks for the rows in your file. A JSON array is the rows. An API reply such as {"data": [...]} uses its largest list of objects, and the row says which key that was. A file with one JSON value per line is read as JSON Lines.
Every key becomes a column, in the order the keys first appear, so records with different fields still line up. A nested object such as {"user": {"name": "Ada"}} becomes a column user.name. Lists stay as JSON text in one cell, since they have no fixed width.
Browsers round integers past 9,007,199,254,740,991 when they read JSON, which quietly breaks long IDs. This page reads those numbers as text before parsing, so a 19-digit ID comes out exactly as written.
How to convert JSON to CSV
- Pick CSV or XLSX. CSV for scripts and databases, XLSX to open in Excel with long IDs kept as text.
- Choose how nested objects are written. As columns gives one column per nested field; As JSON text keeps each object in one cell.
- Add the files. Drop the JSON files on the box, or click it to choose them.
- Download. Download each result from its row, or use Download all as .zip.
Limits
- Up to 50 MB a file and 5 million cells.
- Lists inside a record are written as JSON text, not spread over columns.
- When an API reply holds several lists, the largest is used and the row names the others.
- In XLSX output, a value that looks like a number, such as the text "42", becomes a number cell; leading zeros and long IDs stay text.
- The CSV is UTF-8. Excel on Windows needs the byte-order mark option to show accented letters correctly.
Questions
Are my files uploaded?
What JSON shapes does it read?
How are nested objects handled?
Will my long IDs survive?
Why does some text start with an apostrophe?
Is it free?
If this saves you time, you can leave a tip. It helps keep these tools free and online.