JSON to CSV Converter
Convert a JSON array of objects into clean CSV, with nested-object flattening and a choice of delimiters.
How it works
Paste a JSON array of objects and the converter turns it into CSV instantly โ no button
required. Every key found across all objects becomes a column (in the order it first
appears), so rows with missing fields simply get empty cells instead of breaking the
table. Nested objects and arrays are flattened into dot-notation columns like
address.city or tags.0; switch flattening off and nested values
are written as compact JSON inside a single cell. Values are escaped following RFC 4180:
anything containing your delimiter, a quote or a line break is wrapped in double quotes,
and inner quotes are doubled โ so the file opens cleanly in Excel, Google Sheets or
Numbers. Pick a delimiter (comma, semicolon, tab or pipe), optionally drop the header row
or force-quote every field, and add a UTF-8 BOM if Excel mangles your accents. All of it
runs in your browser with plain JavaScript: your JSON is never uploaded to a server,
which makes it safe for API dumps, exports and anything containing customer data.
Frequently asked questions
How do I convert JSON to CSV?
Paste a JSON array of objects into the input box and the CSV appears immediately, no button needed. Every key found across the objects becomes a column, in the order it first appears, and each object becomes one row. Then pick a delimiter if you need something other than a comma and hit Copy CSV or Download .csv. A single JSON object works too: it converts to a header row plus one data row.
How does it handle nested JSON objects and arrays?
With "Flatten nested objects" on (the default), nested values are expanded into dot-notation columns: {"address":{"city":"London"}} becomes an address.city column, and arrays become indexed columns like tags.0 and tags.1. Turn flattening off and each nested value is written as compact JSON inside a single cell instead. Rows with missing keys get empty cells, so irregular records still line up.
Is it safe to convert JSON that contains sensitive data?
Yes. The conversion runs entirely in your browser with JavaScript, so your JSON is never sent to a server, logged or stored, and the tool keeps working offline once the page has loaded. That makes it safe for API responses, database exports and anything containing customer or internal data. Values are escaped per RFC 4180, and you can add a UTF-8 BOM so accented characters open correctly in Excel.