Convert JSON to CSV
Paste JSON and get spreadsheet-ready CSV instantly.
Options
CSV result
How to convert JSON to CSV
Paste a JSON array of objects into Your JSON, or press Load example. Each
object becomes one CSV row and the header row is written automatically. The result updates as you type —
copy it or download it as a .csv file. Everything runs in your browser, so nothing you paste
is uploaded.
Flattening nested objects
Nested objects are flattened with dot keys. Turn off Flatten nested objects to keep them as JSON strings instead.
| JSON input | CSV header |
|---|---|
| {"user": {"name": "Ada"}} | user.name |
| {"a": {"b": {"c": 1}}} | a.b.c |
| {"tags": ["cs", "math"]} | tags (cell holds ["cs","math"]) |
Examples
| Input | Output |
|---|---|
| [{"a":1,"b":2},{"a":3,"b":4}] | a,b 1,2 3,4 |
| [{"name":"Ada","age":36,"tags":["cs","math"]},{"name":"Grace","age":85}] | name,age,tags Ada,36,"[""cs"",""math""]" Grace,85, |
| {"city":"Paris","zip":"75001"} | city,zip Paris,75001 |
Limits and edge cases
- Headers are the union of every key in first-seen order; rows missing a key get an empty cell.
- Arrays become compact JSON strings inside their cell, quoted when they contain the delimiter or quotes.
- Nesting flattens up to 20 levels deep; anything deeper stays a JSON string in its cell.
- Cells follow RFC 4180 quoting: quoted only when they contain the delimiter, a double quote, or a line break, with inner quotes doubled.
- The download has no BOM. If accented characters look wrong in Excel, open the file via Data > From Text/CSV and choose UTF-8, or import it as UTF-8.
Frequently asked questions
How do I convert JSON to CSV?
Paste a JSON array of objects into the input box and the CSV appears instantly with a header row. Copy it or download it as a .csv file.
What JSON shape does the converter accept?
An array of objects, where each object becomes one CSV row. A single object works too and becomes one row. Anything else shows an error explaining what was expected.
How are nested objects handled?
Nested objects are flattened with dot keys, so {"address": {"city": "Paris"}} becomes a column named address.city. Arrays become compact JSON strings inside their cell. Turn off Flatten nested objects to keep nested values as JSON strings instead.
What if objects have different keys?
Headers are the union of every key in first-seen order, and rows missing a key get an empty cell. So [{"a": 1}, {"b": 2}] produces columns a and b with one empty cell per row.
Which delimiter should I use for Excel?
Use commas for English Excel. If your region uses commas as decimal separators, choose semicolons instead, since that is the list separator Excel expects there. Tabs and pipes are also available.
Is my JSON uploaded anywhere?
No. Conversion runs in your browser with JavaScript and nothing is sent to a server. Inputs under 200 KB are kept in your browser's local storage so they are still there when you come back.