Paste a JSON array of objects, pick a delimiter if you need one, then copy the table or download the CSV. Rows may carry different keys, and nested objects stay as JSON text.
Runs locally in your browserPaste a JSON array and get a delimited table you can copy or download as a .csv file. The header comes from the keys of every row, not just the first one, so rows may carry different fields.
Values are quoted the way spreadsheets expect, nested objects keep their JSON text instead of turning into [object Object], and nothing is uploaded: the conversion runs in the page.
The column set is the union of the top-level keys across all rows, in first-seen order: a row that is missing a key leaves that cell empty. A single JSON object is treated as one row, and an array of arrays is written as rows without a header line.
For [{"a":1},{"a":2,"b":9}] the header is a,b — row one is "1," and row two is "2,9". The field order inside each object does not matter: keys are matched by name, so {"a":1,"b":2} and {"b":3,"a":4} produce 1,2 and 4,3.
A cell is wrapped in double quotes when it contains the active delimiter, a double quote or a line break, and inner quotes are doubled — the rule spreadsheets follow. "Smith, John" becomes ""Smith, John"", and a value with a line break stays one cell instead of breaking the record.
Numbers and true/false keep their bare form, null and missing keys become empty cells. Objects and arrays are written as compact JSON text, so nested data survives the round trip instead of collapsing to [object Object].
The field is empty by default and commas are used. Type \t for a tab, or any other character — a semicolon is the usual choice where decimal commas are standard. Quoting follows whatever delimiter is active.
CSV files are read by spreadsheets with a comma or semicolon; the downloaded file starts with a UTF-8 byte order mark so Excel shows accented and CJK characters correctly.
Invalid JSON, an empty array and rows that are neither objects nor arrays each show a short message and clear the previous result, so a stale table is never left on screen. Only JSON arrays can be converted; there is no XLSX workbook behind the download.
A 5,000-row array (about 300 KB of JSON) converts in roughly a second in Chrome and produces a 130 KB file, with no network request at any point.