Convert JSON to CSV — locally, in your browser
API responses arrive as JSON, but the person who asked for the numbers wants a spreadsheet. This tool flattens a JSON array of objects into CSV entirely on your device — drop the file, get a CSV that opens directly in Excel, Google Sheets, or Numbers. Each object becomes a row and each key becomes a column; objects that are missing a key simply get an empty cell rather than breaking the export. Nested objects and arrays are stringified into their cell, so no data is silently dropped. Because the conversion runs in your browser, an export full of user records or revenue data never touches anyone else’s server on its way to becoming a spreadsheet.
How it works
- Drop a .json file containing an array of objects (a single object works too).
- Keys become column headers; missing keys become empty cells.
- Download the resulting CSV and open it in any spreadsheet app.
Frequently asked questions
What JSON shapes are supported?
The ideal input is an array of objects with mostly the same keys — the typical shape of an API response or database export. A single top-level object also works and becomes a one-row CSV. Objects don’t need identical keys: the columns are the union of all keys, and rows without a value get an empty cell.
What happens to nested objects and arrays?
CSV is flat, so nested values are stringified into their cell as JSON text. You keep the data, but if you need nested fields as separate columns, flatten the JSON before converting.
Does my JSON file leave my machine?
No. The conversion is plain JavaScript running in your tab; the file never leaves your device. If your JSON came from an internal API and contains business data, it stays exactly as private as it was on your disk.
Will Excel open the output correctly?
Yes — the output is standard comma-separated CSV with a header row, which Excel, Google Sheets, and LibreOffice all open directly. Fields containing commas or quotes are properly escaped.