Convert JSON to CSV and Back

JSON to CSV and back. Auto-detect delimiter.

CSV → JSON
JSON → CSV
⇄ Swap
CSV
JSON
[ { "id": 1, "name": "Анна", "role": "designer", "active": true }, { "id": 2, "name": "Pavel", "role": "engineer", "active": true }, { "id": 3, "name": "Mei", "role": "manager", "active": false } ]

The JSON to CSV converter turns an array of objects into a table and back again. CSV (Comma-Separated Values) is a plain-text table format that opens in Excel, Google Sheets, and almost any data tool.

When converting JSON → CSV, the keys of each object become the table header and the values become rows. That's handy when data arrives from an API as JSON but you need to view or share it as a table — export to Excel, hand it to an accountant, or upload it to another service. The reverse conversion, CSV → JSON, is useful when a table needs to be fed into a program or API.

Conversion runs entirely in your browser (via PapaParse), so nothing is sent anywhere. Headers, delimiters, and values containing commas inside quotes are all supported. For configs and APIs, try JSON ⇄ YAML.

Frequently asked questions

Comma (,), semicolon (;), pipe (|), and tab. The PapaParse library picks whichever one appears most often.
That value gets wrapped in quotes: a,b → "a,b". Quotes inside a value are doubled: hello "world" → "hello ""world""".
CSV is a table — by definition, a set of uniform rows. A single object turns into a single row, which is an edge case; normally you need an array.