Convert JSON to CSV, or CSV to JSON
Paste or drop your data, choose a direction and get a table or an array back. What you paste stays on this device.
- Nothing is uploaded
- Works offline after first visit
- Open source
- No account, no watermark. A file can be up to 200 MB, and phones hold less.
Converts JSON to CSV or CSV to JSON, flattening nested objects, with the delimiter, headers and Excel-friendly encoding you choose. It is free, and what you paste and the files you drop are not uploaded: everything runs in your browser on your device. A file can be up to 200 MB, and a phone may run out of memory sooner; give the page a short while after one visit to save itself for offline use, and then it works offline.
Done
Open the network tab. Your files never appear in it.
Add files and run the tool to see every request this tab makes.
Your files are processed on this device and never sent to a server. Reload the page to clear everything from memory.
Related tools
Data exports often arrive zipped and need checking. The archive opener opens the ZIP an export comes in, File Checksum confirms a download is intact, and Create ZIP packs the converted files together.
How it works
- Paste JSON or CSV into the box, or drop a .json or .csv file. The direction is picked from what you gave it, and you can change it.
- Set the options: the delimiter, whether the first row is headers, and how nested data is handled.
- Convert, check the preview, then copy the result or download it.
In your browser, not on a server
A small parser written for this page, with no library, reads your text in a background worker in this tab. JSON is read with the browser’s own JSON parser, and one object per line is accepted too. CSV is read by a parser that follows RFC 4180: quoted values, a doubled quote for a quote, and line breaks inside quotes; the delimiter is detected from the first lines unless you choose one. The result is written in the tab, with quoting added only where a value needs it and, if you leave it ticked, a UTF-8 byte-order mark at the start so Excel reads the letters correctly.
Compared with upload-based tools: Online converters make you paste or upload the data to their server, and customer lists and exports are often exactly the data you should not hand over. Here what you paste and any file you drop is converted on your device and never sent anywhere, and the limit is your device’s memory (phones hold less).
Verify it yourself. Give the page a short while after one visit to save itself for offline use, then turn off Wi-Fi or switch to airplane mode and run the tool again. Or open your browser's developer tools (F12, or Cmd-Option-I on a Mac), pick the Network tab, and watch it while you convert. The panel above does the same count for you.
Questions
How do I convert JSON to CSV?
Paste the JSON or drop the file, check that the direction says JSON to CSV, and press Convert. An array of objects becomes a table: each object is a row and each key a column, with the columns taken from every key that appears. Copy it, or download the .csv file.
What happens to nested objects and arrays?
Nested objects are flattened into columns named with a dot, so `{"user":{"name":"Ada"}}` gives a `user.name` column. Arrays go into one cell as JSON text, or joined with a semicolon if you tick that option. Untick Flatten nested objects if you want the whole nested value kept as text in one cell.
Why does my CSV look wrong in Excel?
Excel in many countries expects a semicolon, not a comma, and reads non-English letters wrongly unless the file starts with a byte-order mark. Keep UTF-8 with BOM ticked and choose Semicolon if your columns land in one cell.
How are numbers, true/false and empty values handled going from CSV to JSON?
By default every value stays text, exactly as it is in the CSV, so an id such as 00123 is not changed. Tick Detect types to turn numbers, true and false and null into real JSON values; long digit strings and values with leading zeros stay as text even then.
Is my data uploaded?
No. What you paste, and any file you drop, is converted by code running in this page and is not uploaded; the only thing the site counts is the anonymous usage listed on the privacy page. A file can be up to 200 MB, and the page keeps working offline after one visit and a short wait.
Can it handle a big file?
The conversion runs in the background so the page stays usable. A file over 200 MB is refused as too large for a browser tab, and a phone may run out of memory on a smaller one, in which case the page says so instead of giving a half result. Split the file and convert the pieces if that happens.
More PDF tools
Merge PDF
Combine PDFs into one document and set the order with the arrows. No watermark, nothing uploaded, and the size limit is your device’s memory (phones hold less).
Split PDF
Pull out the pages you need, or break a document into single pages. Done on your device.
Compress PDF
Shrink a PDF for email or an upload limit. Pick a level, or type the size you need, like 1 MB, and the page tries the gentlest setting that fits. Processed on your device.
Rotate PDF
Fix sideways scans for good. Rotate every page or just the ones you pick, then save.