JSON to CSV Converter

Paste an array of JSON objects and get a clean CSV table — rows, columns and correct quoting, all converted in your browser with a copy button.

  • Free
  • No account
  • Runs in your browser
  • Nothing uploaded
JSON to CSV ConverterNothing uploaded
157 characters
CSV3 rows · 3 columns
name,city,age
Alice,Paris,30
Bob,London,25
Carol,New York,41

Runs entirely in your browser — your input is never uploaded, logged, or stored.Privacy policy

What is JSON to CSV Converter?

JSON and CSV are stored in the same flat, texty language, but they solve different problems. JSON describes structured data — nested objects and arrays with any depth — and it is how APIs, apps, and databases exchange records. CSV is a flat table: a header row of column names, then one row per record, with commas separating the fields. Spreadsheets, analytics tools, and reporting dashboards all read CSV natively, but none of them can open a raw JSON file directly. When you need to take API output, a database export, or a saved configuration and put it into a spreadsheet or a pivot table, you have to get the JSON into a table shape first.

This tool does that for you. You paste JSON — either a single object or, more often, an array of objects where each object is one record — and it renders the data as a CSV table: the first row is a header built from your keys, and every object becomes a row underneath. Fields that contain commas or quotation marks are quoted automatically so the file opens correctly in Excel, Google Sheets, and every other CSV reader. Nothing is uploaded; the whole conversion runs locally in your browser, so it is safe for private datasets you prefer not to send anywhere.

The reverse flow is covered too — the CSV to JSON Converter turns a table back into an array of objects — so the pair of tools lets you move tabular data in and out of JSON without writing conversion code by hand.

The tool parses your input as JSON first, so malformed JSON fails with a clear message before any CSV is produced. It then flattens the parsed value into a table:

• The header row is the union of every key seen across your objects, in first-appearance order. A record that lacks a column simply gets an empty cell. • Each object becomes one data row, with values written under their matching column. • Plain scalars (strings, numbers, booleans, null) are written in their natural text form. • Nested objects and arrays inside a cell are JSON-serialized, so no nested data is silently dropped — it is captured in the cell as JSON text.

CSV is a deceptively simple format, and the danger is a field that contains a comma, a quote, or a newline — unquoted, that would break the row into the wrong columns. To stay safe the tool follows RFC 4180 quoting rules: when a value needs it, the field is wrapped in double quotes and any embedded quote is doubled. The result opens correctly in Excel, Google Sheets, and other CSV readers.

Worked examples

  • {"name":"Alice","age":30,"city":"Paris"} → name,age,city / Alice,30,Paris
  • [{"name":"Alice","age":30},{"name":"Bob","age":25}] → a header row plus one row per object
  • A name with a comma (Doe, Jane) is quoted so the CSV still opens as one column

How to use JSON to CSV Converter

  1. Copy the JSON you want to turn into a table — an array of objects works best.
  2. Paste it into the input box.
  3. The tool converts it live and shows the CSV on the right.
  4. Click Copy CSV to copy the output, or copy it straight from the output box.

Common errors

  • My input won't convert — the tool accepts valid JSON only. Check for trailing commas, missing quotes around keys, or an array that mixes objects with plain values; the error tells you exactly what it found instead of guessing.
  • My CSV shows an empty cell for a column — a record that doesn't have every key simply leaves that cell blank. That is expected, not a bug; the header lists the union of all keys.
  • A nested object appears inside a cell as JSON text — CSV has no native way to hold nested structure, so nested data is serialized as JSON inside the cell to avoid losing it. If you need it flattened, flatten the JSON before converting.

FAQ

Where does my data go?

Nowhere. The conversion happens entirely in your browser — the JSON string is parsed and re-rendered as CSV locally, and nothing is uploaded to a server.

Why is a comma-filled value wrapped in quotes?

A comma is the column separator in CSV, so a value that itself contains a comma must be wrapped in double quotes to be read as one field. This follows RFC 4180 and is what makes the file open correctly in Excel, Google Sheets, and other readers.

What if my JSON is a single object instead of an array?

That is fine. A single object becomes one header row and one data row. An array of objects becomes a header row plus one row per object, which is the most common shape for tables.

Why is the header built from my keys?

CSV needs a named column for each field. The header row is the union of every key in your objects, in the order they first appear, and each row fills in the cells it has, leaving the rest blank.

G

Prefer AllUtil on Google

One click adds AllUtil to your Google preferences. You'll see our tools highlighted with a Preferred badge in Search and AI answers.

2× more likely to clickWorks in AI Overviews

Reviewed by unreviewed

Written by Hamza AK. We research, build and test every tool before it is published.

Editorial policy

Last updated

Rechecked against the sources on this date, not stamped.

Methodology

This tool parses the input as JSON (rejecting malformed JSON with a clear message), flattens an object or array of objects into a table with an auto-generated header row, and exports it as CSV with RFC 4180 quoting so the output opens correctly in spreadsheet tools. Conversion runs locally in the browser — nothing is uploaded.