JSON to CSV Converter
Turn an array of JSON objects into a CSV table. Nested objects become dotted columns, quotes and commas are escaped properly, and the result downloads as a file.
Input
CSV
About this tool
Spreadsheets want a flat grid; APIs return nested trees. This converter walks each object, flattens it into dotted column names, and builds a header from the union of every key it saw, so rows with different shapes still align. Values that contain the delimiter, quotes or newlines are escaped the way RFC 4180 requires, which is what Excel, Numbers and Google Sheets expect when they open the file.
How to use it
- 1Paste an array of JSON objects into the input panel.
- 2Choose the delimiter your spreadsheet expects — comma, semicolon or tab.
- 3Copy the CSV, or press Download to save it as a .csv file.
Frequently asked questions
›How are nested objects converted to CSV?
They are flattened into dotted column names: { "address": { "city": "London" } } becomes a column called address.city. Arrays get an index — tags[0], tags[1] — so nothing is silently dropped.
›What if my objects have different keys?
The header is the union of every key found in every row, and rows that lack a key get an empty cell. Ragged data still lines up in a spreadsheet.
›Does it handle commas and quotes inside values?
Yes. Any value containing the delimiter, a double quote or a line break is wrapped in quotes, and inner quotes are doubled — the escaping rules from RFC 4180 that Excel and Google Sheets expect.
›My JSON is a single object, not an array. Will it work?
Yes, a lone object is treated as a one-row table. For multiple rows, pass an array of objects at the top level.
›Can I open the result in Excel?
Download the file and open it directly. If your locale uses semicolons as the list separator, switch the delimiter to semicolon first — Excel will then split the columns correctly without an import step.