How nested keys become columns
Conversion runs in your browser tab. Nothing uploads to a server.
- Repair, then parse. A repair pass fixes common JSON issues (trailing commas, missing quotes) before
JSON.parseruns. Broken input shows an error badge instead of a silent blank sheet. - Normalize to rows. An array of objects becomes rows. A single object becomes one row. A wrapper like
{"items":[...]}unwraps the first array property. - Flatten when enabled. Nested objects expand into dotted paths:
shipping.city,shipping.zip. Arrays under a key stringify into one cell so the row count stays stable. - Build the CSV string. Headers come from the union of all keys across rows. Missing keys leave empty cells. Delimiter, quoting, and the header row follow the options bar.
Messy source JSON? Run JSON Fixer or JSON Beautifier first, then paste the cleaned result here.
Where people use this export
API dumps into Sheets
You pulled a paginated list of orders. Product managers want filters in Google Sheets. Flatten shipping address fields, download the CSV, import with the matching delimiter.
Support ticket triage
A webhook payload holds customer id, status, and a nested meta object. Flatten meta.plan into a column, sort by plan in Excel, assign the queue.
Quick QA of fixture data
Seed fixtures live as JSON in the repo. Open them as a table here to spot missing emails or duplicate ids before a test run.
What this converter refuses to invent
CSV is a flat table format. Deep trees lose structure on purpose.
- Arrays of primitives become one stringified cell when flatten is on. There is no automatic row explosion for nested lists.
- Mixed types in the same column stay as text. No type guessing for dates or currencies.
- Multi-megabyte payloads slow the Ace editor long before the converter itself fails. Split large dumps.
- Excel formulas are not generated. You get data cells only.
In most cases, keep flatten on for spreadsheet review. Turn flatten off when you want nested objects left as a single JSON string per field for a later pipeline step.
Before you open the file in Excel
- Match the delimiter to your locale. Semicolon for many EU installs, comma for US.
- Keep Quote fields on when any cell holds commas, quotes, or line breaks.
- Switch to Raw view to skim the exact bytes you will download.
- Import with UTF-8. Some older Excel versions need the Data Import wizard for Unicode.
