JSON to CSV Converter

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.