JSON to CSV converter
Turn a JSON array into a spreadsheet-ready CSV.
Runs in your browser. Nothing you type is sent anywhere.
- Flattens nested fields
- Every key becomes a column
- Opens cleanly in Excel
How to convert JSON to CSV
- Paste or upload a JSON array of objects.
- Pick the delimiter and whether to flatten nested fields.
- Copy the CSV or download the file.
How nested fields flatten
| JSON | CSV column | Value |
|---|---|---|
| {"user":{"name":"Sam"}} | user.name | Sam |
| {"tags":["a","b"]} | tags | a, b |
| {"active":true} | active | true |
What flattening changes
| Setting | Nested object | Array of values |
|---|---|---|
| Flatten on | One column per field (address.city) | Joined into one cell with commas |
| Flatten off | One cell holding JSON text | One cell holding JSON text |
Tips for clean CSV exports
- Column order follows the order fields first appear across all rows, not alphabetical order.
- If a spreadsheet app shows everything crammed into one column, re-download with semicolon chosen as the delimiter instead of comma.
- A value stored as a JSON string, like a ZIP code "00501", is written to the CSV exactly as that string, since only values that are already JSON numbers get treated as numbers.
CSV format notes
- A field is only wrapped in quotes when it needs to be, such as when it contains a comma, a quote or a line break, matching the well-formed CSV rules in RFC 4180.
- The download starts with a UTF-8 byte order mark so Excel opens accented characters correctly. Tools that expect plain UTF-8 without one still read the rest of the file fine.
JSON to CSV FAQ
What JSON shape does this expect?
An array of objects, such as [{"name":"Sam","age":30}]. A single object becomes one row, and an array of arrays is written row by row.
What happens to nested objects and arrays?
With flattening on, a nested field like address.city becomes its own column named address.city. Lists of plain values are joined into one cell with commas.
Do all rows need the same fields?
No. The header includes every field found in any row, in the order they first appear, and missing values are left blank.
Why do accents look wrong when I open the CSV in Excel?
Excel guesses the text encoding. The downloaded file starts with a UTF-8 marker so accents and symbols display correctly. If your Excel uses commas for decimals, choose semicolon as the delimiter.
What happens to null or missing values?
A null value or a field that is missing from a row becomes an empty cell. The column still appears in the header as long as at least one other row has it.
Can I convert an API response wrapped in an object, like {"data": [...]}
Paste just the array, for example the contents of the data field. This converter expects an array of objects, or a single object, at the top level, not a wrapper around it.
Can I convert a JSON array of plain strings or numbers, not objects?
Yes. Each value becomes one row with a single column, so ["a", "b"] turns into a two-row CSV, one value per row.
Does the CSV use CRLF or LF line endings?
CRLF (\r\n) between rows, which is what the CSV convention in RFC 4180 expects and what Excel itself writes.