JSON to CSV Converter
Paste a JSON array of objects on the left and get CSV on the right, ready for Excel, Google Sheets or pandas. Runs locally in your browser.
How the conversion works
- The input must be an array of objects. A single object is treated as a one-row table.
- Column headers are the union of all keys, in order of first appearance. Rows missing a key get an empty cell.
- Nested objects are flattened with dot notation:
{"user": {"id": 7}}becomes a column nameduser.id. - Arrays inside a row are kept as a JSON string in a single cell.
- Values containing commas, quotes or newlines are quoted per RFC 4180, with quotes doubled.
Opening the result in Excel
Copy the output into a file with a .csv extension, or paste directly into a sheet — Excel and Google Sheets split on commas automatically. If your locale uses semicolons as the separator, use Data → Text to Columns after pasting.
Why not just use a spreadsheet import?
Most spreadsheet importers choke on nested JSON. Flattening first gives you clean columns instead of cells full of braces. And because this page never uploads your data, it is fine for exports that contain customer records.
Limits
Everything runs in memory in your browser tab, so very large arrays (hundreds of megabytes) depend on your device. For files that size, a command-line tool such as jq or pandas is a better fit.