How are nested JSON objects handled?
CSV is a flat 2-D format with no native concept of nesting. This converter stringifies nested objects and arrays as JSON inside their cell, so {"address": {"city": "London"}} produces a cell containing the literal text {"city":"London"}. If you need true flattening (one cell per leaf field, with dotted keys like address.city), pre-process the JSON or use a library like flat or json2csv with a custom transform.
How does the tool infer the CSV header?
The header is the union of every key that appears in any row, in first-seen order. So if row 1 has {a, b} and row 2 has {b, c, d}, the header is a, b, c, d — no field is dropped. This is more forgiving than libraries that take only row 1's keys, which silently lose data when later rows have additional fields.
What happens if rows have different keys?
Missing keys produce empty cells in those rows. The CSV is still rectangular: every row has the same number of columns, with blanks where the source object did not have that key. This is the safest behaviour — no exceptions, no silently shifting columns.
Are commas, quotes, and newlines in values escaped?
Yes — the converter follows RFC 4180. A field containing a comma, double-quote, or newline is wrapped in double-quotes, and any internal double-quotes are doubled (so they appear as ""). A value like Carol "Caz" Lee becomes "Carol ""Caz"" Lee" in the CSV.
Why is row 1 of my output not a data row?
The first line of the CSV is the header row — the column names derived from your JSON keys. Spreadsheet apps (Excel, Sheets, Numbers) treat row 1 as headers automatically. If you want a headerless CSV, delete the first line after copying or wrap the converter with a "no header" option in your own pre-processor.
Can I open the result directly in Excel?
Yes. Save the output as a .csv file and double-click — Excel parses standard comma-separated values and quoted fields correctly. For European locales where the regional separator is a semicolon, use Data → From Text/CSV and pick comma as the delimiter, or use the JSON to TSV tool instead.
What if my JSON is a single object, not an array?
The converter requires the top level to be an array. Wrap a single object in brackets — change {"a": 1} to [{"a": 1}] — and it will produce a one-row CSV. If your JSON has the records nested (e.g. {"data": [...]}), extract the array first using a JSON formatter or jq.
Is my JSON sent to a server?
No. Conversion runs entirely in your browser using JavaScript. JSON containing PII, customer records, or financial data never leaves your device. Open DevTools Network tab and verify — no request fires when you click Convert.