JSON to CSV

Turn a JSON array into a spreadsheet-ready CSV, with columns detected automatically and nested objects flattened. Everything happens in your browser.

JSON input

Use semicolon if your spreadsheet is set to a European locale.

CSV output

CSV will appear here.

Nested objects become dotted columns (user.name); scalar arrays are joined with |.

Frequently asked questions

How are nested objects handled?

They become dotted column names — {"user":{"name":"Ada"}} produces a user.name column. Arrays of plain values are joined with a pipe character so they stay in one cell.

What if my objects have different keys?

Every key found anywhere in the array becomes a column, in first-seen order. Rows missing that key get an empty cell, so nothing is silently dropped.

Will it open correctly in Excel?

Yes. Values containing commas, quotes or line breaks are quoted per RFC 4180, and the download includes a UTF-8 byte order mark so accented and non-Latin characters survive in Excel.

Why would I choose semicolon or tab?

Excel in most European locales expects semicolons as the field separator. Tab-separated output is handy for pasting straight into Google Sheets or Numbers.