JSON to Excel Converter
Upload a JSON file (array of objects) and download a real Excel (.xlsx) spreadsheet.
Was this tool helpful?
Thanks for the feedback!
Upload a .json file containing an array of objects and this converter builds an Excel workbook (.xlsx) with one row per object and one column per key. It is the quickest way to hand an API response, an export from an app or a list of records to someone who works in Excel.
What the file must contain
The top level of the file has to be an array, and each element should be an object:
[
{"name": "Asef", "city": "Mumbai", "orders": 12, "active": true},
{"name": "Riya", "city": "Pune", "email": "riya@example.com"}
]
This produces the columns name, city, orders, active and email, in the order each key first appears. Riya's row has empty orders and active cells, and Asef's row has an empty email cell. The single sheet is named Sheet1 and the download keeps your file's name with an .xlsx extension.
Two error messages are common. "That file is not valid JSON" means a syntax problem such as a trailing comma or single quotes; check it first with the JSON Validator. "The JSON must be an array of objects" appears when the file starts with {, which is typical for API responses such as {"data": [ ... ]}. Save just the inner array to a new file and upload that.
How each value is written
- Numbers become numeric cells you can sum and sort.
- Strings stay text exactly as written, so "007" keeps its zeros and "2026-01-15" stays a text value rather than becoming an Excel date.
- true and false become Excel's TRUE and FALSE.
- null leaves the cell empty.
- Nested objects and arrays get a column header, but their cells are left empty.
Flattening nested JSON first
Because nested values do not appear in the sheet, reshape records like {"name": "Asef", "address": {"city": "Mumbai"}, "tags": ["vip", "retail"]} before converting. In JavaScript, one line does it:
rows = data.map(o => ({ name: o.name, city: o.address.city, tags: o.tags.join(", ") }));
Save JSON.stringify(rows) to a file and upload that. Each nested field becomes its own column and the list of tags becomes one readable cell.
After downloading
Excel opens the file with plain columns and no styling. Freeze the header row, apply number formats to amount columns, and turn text date columns into real dates with Data › Text to Columns if you need date arithmetic. If you only need a flat text file rather than a workbook, the JSON to CSV Converter takes pasted JSON. The workbook is assembled in your browser, and the JSON file never leaves your computer.