Mini Tools

JSON to CSV Converter (and CSV to JSON)

Edit either side — the other converts as you type. Drop a .json or .csv file onto a box. Everything runs in your browser.

Table preview

How JSON is converted to CSV

  • The input should be an array of objects; each object becomes a row. A single object becomes one row.
  • Columns are the union of all keys, in order of first appearance — missing values become empty cells.
  • With Flatten on, nested objects become dotted columns: {"user":{"name":"Ann"}} → column user.name. Arrays are written as JSON text.
  • Values containing the delimiter, quotes or line breaks are quoted, and quotes are doubled, following RFC 4180.

Example

JSONCSV
[
  {"id": 1, "name": "Ann",
   "address": {"city": "Oslo"}},
  {"id": 2, "name": "Bo, Jr.",
   "tags": ["a", "b"]}
]
id,name,address.city,tags
1,Ann,Oslo,
2,"Bo, Jr.",,"[""a"",""b""]"

Opening CSV in Excel

Excel in many European locales expects a semicolon delimiter, because the comma is the decimal separator there. If all your data ends up in one column, switch the delimiter to “Semicolon” and download again. Google Sheets and Numbers handle commas everywhere.

Frequently asked questions

Can it convert nested JSON to CSV?

Yes. Nested objects are flattened into dot-separated column names (address.city). Arrays are kept as JSON text inside one cell.

Does CSV to JSON handle quoted fields and line breaks?

Yes. The parser follows RFC 4180: quoted fields may contain delimiters, doubled quotes and line breaks.

Are numbers kept as numbers?

When “Detect numbers & booleans” is on, values like 42, 3.14, true, false and null become JSON numbers/booleans/null; everything else stays a string. Values with leading zeros such as 007 stay strings.

Is my data uploaded?

No. Conversion happens entirely in your browser.