JSON to CSV Converter
Turn an array of JSON objects into CSV, ready for a spreadsheet.
How to use this tool
- Paste or type your text into the box above.
- The result updates as you change the input — there is nothing to submit and nothing to wait for.
- Read the figures in the result panel, or copy the converted text.
- Use Copy or Download if you need the output elsewhere. Nothing was uploaded at any point.
Columns are collected from every object, so records with differing keys still line up correctly. Nested objects can be flattened into dotted column names such as address.city.
JSON to CSV Converter — the specification
| Input | An array of objects, or a single object |
|---|---|
| Columns | Union of all keys across every record |
| Nested objects | Optionally flattened to dotted names |
| Escaping | Quotes, commas and newlines handled per RFC 4180 |
| Output | Downloadable .csv |
How it works
This tool runs entirely in your browser. There is no server involved, which means nothing you type or upload is transmitted, stored, or logged — and there are no usage limits, because there is nothing for us to ration.
You can confirm it yourself: open your browser's developer tools, select the Network tab, and use the tool. No request is made.
A worked example
Run against this page’s own code, with the real input and the real output reproduced below.
What went in
[{"exam":"SSC CGL","minKb":20,"maxKb":50},{"exam":"NEET","minKb":10,"maxKb":200},{"exam":"UPSC","minKb":20,"maxKb":300}]
What came back
| Rows | 3 |
|---|---|
| Columns | 3 |
| Size | 54 |
Everything above happened in the page as the text was typed. Nothing was sent to a server, which is why it works offline once the page has loaded and why there is no limit on how often you use it.
Who needs JSON to CSV Converter
Getting API data into Excel or Google Sheets, or handing a developer export to someone who works in spreadsheets.
JSON to CSV Converter — frequently asked questions
What if my records have different fields?
Every key found anywhere becomes a column, and records missing that key get an empty cell. Nothing is silently dropped.
How are nested objects handled?
With flattening enabled, {"address":{"city":"Dubai"}} becomes a column named address.city. Arrays are written as JSON text in a single cell.
Will it open correctly in Excel?
Yes. Values containing commas, quotes or newlines are quoted and escaped per RFC 4180. If accented characters look wrong, import as UTF-8 rather than double-clicking the file.
Does this work offline?
Yes. Once the page has loaded you can disconnect from the internet and it keeps working, because all the processing happens in your browser. That is also the simplest way to confirm nothing is being sent anywhere.
Is there a limit on how much I can paste in?
Nothing we impose. The practical limit is your device’s memory, since the work happens locally. Very large inputs get slower rather than being refused.
Can I use this on a phone?
Yes. The layout adapts to a small screen and everything works the same way.
Related tools
From other categories
Background reading: Text and Developer Tools That Never Upload Your Data
Your file never leaves your device. Open your browser's Network tab while you use this page and you will see no upload — how that works.
Disclaimer. Published requirements change without notice. Confirm against the official source before you submit. Full disclaimer.