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.

Runs in your browser — nothing uploaded
JSON input
CSV output
name,age,city
Ada,32,London
Charles,46,Manchester
Grace,29,New York
Delimiter: , · 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.

Private by design — your data never leaves your device

How to use it

No account, no upload — it all happens on your device.

1
Paste a JSON array on the left (a sample loads by default).
2
Pick a delimiter — Auto stays on commas; switch to Semicolon for European Excel, Tab for TSV, or Pipe for pipe-separated data.
3
Watch the CSV build instantly on the right; the row count shows under the panel.
4
Click Copy to copy the CSV, or paste it straight into your spreadsheet.

From JSON shape to CSV shape

What each kind of JSON input produces.

JSON inputCSV 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.

Frequently asked

What shape does my JSON need to be?
A JSON array. The cleanest input is an array of flat objects — each object becomes a row and every distinct key becomes a column. Nested objects are stringified into the cell as JSON. Arrays of primitives are written as a single column; arrays of arrays become a header-less CSV grid.
How are missing keys handled?
The header row is the union of every key across every object. If a row is missing a key, that cell is left empty. The result is still a valid CSV that opens cleanly in Excel, Numbers, and Google Sheets.
How does it handle commas, quotes, and newlines inside values?
Standard CSV rules. Any cell that contains the delimiter, a double quote, or a line break gets wrapped in double quotes, and quotes inside are doubled (RFC 4180). You can also switch the delimiter to semicolon, tab, or pipe if your downstream tool expects something else.

Related tools

Color ConverterConvert any color between HEX, RGB, HSL, HWB, and OKLCH instantly. Includes a live swatch and one-click copy for each format.QR Code GeneratorGenerate QR codes for URLs, text, Wi-Fi, and more — entirely in your browser. Download as PNG or SVG. No tracking, no uploads.Unix Timestamp ConverterConvert Unix timestamps to human-readable dates and back. Supports seconds and milliseconds, UTC and local time. All in your browser.