JSON to CSV Converter
Convert a JSON array of objects into clean CSV in your browser. Auto-builds headers from every key, escapes quotes correctly. Nothing is uploaded.
name,age,city Ada,32,London Charles,46,Manchester Grace,29,New York
, · 3 rows parsed.Use this free JSON to CSV converter to turn a JSON array of objects into clean, spreadsheet-ready CSV. The tool unions every key into a single header row, escapes commas and quotes the RFC 4180 way, and gives you a switchable delimiter for Excel, Numbers, and Google Sheets.
How to use it
No account, no upload — it all happens on your device.
From JSON shape to CSV shape
What each kind of JSON input produces.
| JSON input | CSV output |
|---|---|
| [{"name":"Ada","age":32},{"name":"Grace","age":29}] | name,age Ada,32 Grace,29 |
| [{"name":"Ada","city":"London"},{"name":"Grace","age":29}] | name,city,age Ada,London, Grace,,29 |
| [["a","b"],["c","d"]] | a,b c,d |
| [{"id":1,"meta":{"tag":"x"}}] | id,meta 1,"{""tag"":""x""}" |
Picking a delimiter
The right separator depends on where the file is going.
- Comma (default). The universal standard and what most tooling expects.
- Semicolon. European Excel uses semicolons by default in locales where the comma is the decimal mark. If your opened CSV crams every row into column A, try this.
- Tab. TSV pastes cleanly into Excel, Numbers, and Google Sheets without any import dialog.
- Pipe. Useful when your data legitimately contains commas, semicolons, and tabs — the pipe is rare enough to stay unambiguous.
Privacy and limits
The whole conversion runs in your browser using native JSON.parse and string manipulation. Your data is never uploaded and never leaves your device — fine for customer records, internal exports, or anything else you would not paste into a random web form.
The practical input ceiling is whatever your browser will hold in a single text field — comfortably a few hundred thousand rows. For gigabyte-scale exports, stream the JSON through a CLI tool like jq or a quick Node script instead.