Paste a JSON array of objects and get spreadsheet-ready CSV — nested objects are flattened, missing keys are filled, and tricky fields are quoted for you.
🔒 100% private — nothing is uploaded
How it works
Give it a JSON array of objects. It reads every object, works out the full set of columns, and writes standards-compliant CSV you can open in Excel, Google Sheets or Numbers.
1
Paste JSON
Drop in an array like [{…}, {…}]. Objects can have different keys — that's fine.
2
Columns are unioned
Every key across every row becomes a column. Rows missing a key get an empty cell, and nested objects flatten to parent.child.
3
Copy or download
Fields containing commas, quotes or line breaks are safely quoted per RFC 4180. Grab the text or save a .csv file.
🔒
Private by design. The conversion runs entirely in your browser with plain JavaScript. Your JSON never leaves your device and is never uploaded — we never see it.
Frequently Asked Questions
What JSON format does this expect?▼
A JSON array of objects, like [{ ... }, { ... }]. Each object becomes a row, and its keys become the column headers.
What happens if my objects have different keys?▼
Every key across every object is collected into one full set of columns. Rows that are missing a key simply get an empty cell for it.
How are nested objects handled?▼
With flattening on, a nested value like address.city becomes its own column using the dotted path. You can turn flattening off if you'd rather keep the raw nested value.
Can I open the result in Excel or Google Sheets?▼
Yes. The output is standards-compliant CSV, and you can pick a comma, semicolon, tab or pipe delimiter to match your spreadsheet's regional settings.
What if a value contains commas or quotes?▼
Any field containing the delimiter, a quote or a line break is automatically wrapped in double quotes, with internal quotes doubled, so the CSV stays valid.
Is my JSON uploaded anywhere?▼
No. The conversion runs entirely in your browser on your own device. Your JSON is never uploaded, and we never see it.