JSON to CSV converter

Paste a JSON array of objects to get a CSV table, or switch direction and paste CSV with a header row to get JSON. Quotes, commas and line breaks inside values are handled the standard way.

Direction

Runs in your browser: nothing you enter is sent anywhere.

How to use it

  1. Choose the direction: JSON → CSV or CSV → JSON.
  2. Paste your data. For CSV, the first row must contain the column names.
  3. If your spreadsheet program expects semicolons (common in some regions) or tabs, change the delimiter.
  4. Copy the result.

How it works

For JSON → CSV, the first line lists the column names. Each following line is one object. A value is written as text; null is an empty cell. Lines are separated by a line feed.

For CSV → JSON, the file is read by the RFC 4180 rules: quoted values may contain delimiters, line breaks and doubled quotes ("" means one quote). The first row gives the keys, and each later row becomes an object. Blank lines are skipped.

Example: [{"a":1,"b":"x,y"},{"a":2}] becomes

a,b
1,"x,y"
2,

Tips

  • If a column is missing in the result, check that the objects actually have that key; only objects in the array are read.
  • Values with leading zeros, such as ZIP codes, stay safe as strings in the CSV → JSON direction.
  • Excel may need a semicolon delimiter or a tab, depending on your regional settings.

Frequently asked questions

What JSON can be converted to CSV?

An array of objects, or a single object. Each object becomes a row. The columns are all the keys found, in the order they first appear, and a missing key gives an empty cell.

How are nested objects and arrays written?

A nested value is written into its cell as JSON text, for example {"x":1}. The result stays valid CSV, but it is not flattened into separate columns.

How does the quoting work?

As in RFC 4180, a value that contains the delimiter, a double quote or a line break is wrapped in double quotes, and any double quote inside it is doubled. Everything else is written as it is.

Does CSV to JSON detect numbers?

No. CSV has no types, so every value becomes a JSON string. This avoids silently changing values such as 007 or 1e3, so convert the types you need afterwards.

Is my data uploaded?

No. The conversion runs entirely in your browser.

More in Developer

All tools in this category: Developer ·Updated November 3, 2026

Privacy choices

Google Analytics shows us which tools are used and whether they work. It may set cookies. Your choice is kept in this browser.