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.