The Data Transmuter

JSON to CSV. CSV to JSON. Instant.

A JSON-to-CSV converter turns an array of objects into a comma-separated table: every unique key becomes a column header and every object becomes a row. Paste [{"name":"Ada","role":"CEO"}] and you get two lines, name,role then Ada,CEO. It also runs in reverse, reading the header row and mapping each line back to an object. Everything happens in your browser, so your data never leaves the page.

How the conversion works

JSON to CSV: collect the union of keys across all objects as the header, then write one row per object. A value that holds a comma, a double quote, or a newline is wrapped in double quotes, and inner quotes are doubled.
CSV to JSON: read the first line as the keys, then map each following line to an object, turning true, false, and numeric text into real booleans and numbers.

Reference conversions

JSON input CSV output
[{"name":"Ada","role":"CEO"}]
name,role
Ada,CEO
[{"id":1,"plan":"Pro"},{"id":2,"plan":"Free"}]
id,plan
1,Pro
2,Free
[{"city":"Paris, FR","zip":75001}]
city,zip
"Paris, FR",75001

How it works

Paste your Input Data (JSON or CSV).

Click the Convert button.

Copy the Clean Output.


Why it matters

Data formats are messy. Sometimes you need a spreadsheet, sometimes you need an API payload.

This tool runs entirely in your browser. Your data is never sent to a server.


The Logic

JSON to CSV: Flattens the object array, extracts unique keys as headers, and maps values to rows.
CSV to JSON: Parses the header row, then maps each subsequent row to an object using those keys.

Questions people ask

How do I convert JSON to CSV?

Paste a JSON array of objects into the input box and click JSON to CSV. The tool takes every unique key across the objects as the column headers, then writes one row per object. So [{"name":"Ada","role":"CEO"}] becomes two lines: name,role and Ada,CEO. Values with a comma or quote are wrapped in double quotes automatically.

Does my data get uploaded to a server?

No. Both conversions run in your browser with JavaScript. Nothing you paste is sent, saved, or logged. You can disconnect from the internet and the tool still works, which makes it safe for exports that contain names, emails, or other private records.

What happens to commas inside a value?

A comma inside a string would break the columns, so the converter wraps any value that contains a comma, a double quote, or a line break in double quotes, and doubles any quote inside it. Reading CSV back into JSON reverses this, so a round trip returns the original text unchanged.