JSON is how most APIs and apps hand out data. CSV is what spreadsheets, databases and many import tools want. This tool turns one into the other. Paste or upload JSON and the CSV appears as you type, with a table preview so you can check the columns before you copy or download.
Nested data is the hard part. By default nested objects become extra columns named with dot notation, such as address.city, and arrays become columns like tags.0 and tags.1. You can also keep arrays in one cell or as JSON text, or switch flattening off. You choose the delimiter, the quoting rule and the line ending, and the output follows RFC 4180. Everything runs in your browser.
Paste your JSON or upload a file. The CSV appears as you type. Pick a delimiter, choose whether to flatten nested objects, then copy the result or download it as a .csv file.
An array of objects gives one row per object. An object of objects, such as {"u1": {...}, "u2": {...}}, gives one row per property with the property name in a key column. A wrapper like {"data": [...]} is detected when it holds a single list. For anything else, type a path such as data.items in Rows from.
It turns nested objects into extra columns named with dot notation, so {"address": {"city": "Oslo"}} becomes a column called address.city. With it off, the whole nested object is written into one cell as JSON text.
You choose. Separate columns gives tags.0, tags.1 and so on. One cell joins the values with a comma and a space. JSON text keeps the array as it was written. Arrays of objects inside a joined cell are written as JSON.
Yes. It follows RFC 4180. A field is wrapped in double quotes when it contains the delimiter, a double quote or a line break, and quotes inside a field are doubled. Rows end with CRLF by default, and you can switch to LF. You can also quote every field, or only text.
Excel may open a UTF-8 file as if it were an older encoding. Turn on the UTF-8 BOM option before you download and Excel reads accented letters and symbols correctly. If your Excel expects semicolons, choose the semicolon delimiter.
Yes. Numbers are copied exactly as written in the JSON, so long IDs and values like 1.50 are not rounded or reformatted.
The tool shows the line and column of the first problem, explains what is wrong and prints the line with a marker under the exact spot.
Yes. The conversion runs in the background, so the page stays responsive. Files over about 1 MB are kept out of the text box. The table shows the first 200 rows, while copy and download use every row. The limit is the memory in your browser.
No. Everything runs in your browser and nothing leaves your device.