JSON to CSV Converter

Turn an array of JSON records into a spreadsheet-ready CSV, nested fields included.

runs in your browserno uploadno sign-up

Paste JSON or load the sample to start.

CSV

A table preview of the CSV appears here.

How the conversion works

Each item in the array becomes a row. Nested objects are flattened into dot-notation columns — {"address":{"city":"Oslo"}} becomes a column named address.city. The column list is the union of keys across all rows, in the order they first appear, so records with missing fields simply leave those cells empty.

If the top level is an object rather than an array, the first array inside it is used (APIs often wrap results as {"data":[...]}); a single object becomes one row. Cells containing the delimiter, quotes or line breaks are quoted and inner quotes doubled, as described in RFC 4180.

Frequently asked questions

What happens to arrays inside records?

By default they are kept as a JSON string in one cell (for example ["a","b"]). Switch on "Flatten arrays" to spread them into indexed columns such as tags.0 and tags.1.

Why does Excel put everything in one column?

Excel in some regions expects semicolons as the separator. Choose ";" as the delimiter, or use Data → From Text/CSV to pick the separator on import.

Can I convert CSV back to JSON?

Not on this page. This converter goes one way, JSON to CSV.

Is there a row limit?

No fixed limit; the preview shows the first 50 rows, while the download and copy include everything.