JSON to Excel Converter
Paste or drop a JSON file and get a clean Excel workbook. Nested objects become columns like address.city, nested arrays get their own sheets linked back by ID, and the header row is styled, frozen and filterable. Everything happens in your browser.
How to use the JSON to Excel Converter
- Paste your JSON, drop a .json or .jsonl file on the box, or click Sample.
- Choose how nested data is handled: arrays as separate linked sheets, joined into one cell, or kept as JSON text; nested objects as address.city style columns.
- Pick a header style and whether to freeze the header, add filter buttons and auto-fit the columns.
- Check the preview. Click the sheet tabs to see each sheet the workbook will contain.
- Click Download Excel (.xlsx). Open it in Excel, Google Sheets, LibreOffice or Numbers.
How nested JSON maps to rows, columns and sheets
| JSON shape | Example | Result in Excel |
|---|---|---|
| Array of objects | [{"name":"Ana","age":31}, …] | One row per object, one column per key (keys from all objects are combined) |
| Nested object | {"address":{"city":"Austin"}} | Column address.city |
| Array of simple values | {"tags":["new","vip"]} | One cell: new, vip |
| Array of objects inside a record | {"id":7,"orders":[{…},{…}]} | New sheet orders; each row gets a Data_id column with the value 7 |
| Object of arrays | {"users":[…],"teams":[…]} | One sheet per key: users, teams |
| Array of arrays | [["name","age"],["Ana",31]] | Rows as given; the first row becomes the header |
null / missing key | {"email":null} | Empty cell |
Tips for a clean spreadsheet
- Keep long IDs as strings. Excel stores numbers with 15 significant digits, so an ID like
12345678901234567890written as a JSON number is rounded. Write it as"12345678901234567890"and it stays exact as text. - Use ISO dates. Dates such as
2024-03-15become sortable Excel dates. Other formats like15/03/2024stay as text because their day and month order is ambiguous. - Linked sheets work with lookups. Because child sheets carry the parent's id, you can use
XLOOKUPor a PivotTable to join orders back to customers. - Need the reverse? Convert a workbook back with the Excel to JSON Converter, or make a plain file with JSON to CSV.
Frequently asked questions
How do I convert a JSON file to Excel?
Drop the .json file on the input box (or paste the JSON), check the preview and click Download Excel (.xlsx). Each object in a top-level array becomes one row and each key becomes a column.
How is nested JSON converted?
Nested objects are flattened into columns whose names show the path, for example address.city. Nested arrays of objects, such as a customer's orders, are moved to their own sheet; every row there has a column pointing back to the parent record's id (or row number when there is no id), so nothing is lost.
Can I put several tables in one workbook?
Yes. If the JSON is an object whose values are arrays, for example {"customers": [...], "products": [...]}, each array becomes its own sheet named after its key.
Are numbers and dates kept as numbers and dates?
Yes. JSON numbers and true/false values are written as real Excel numbers and booleans. Strings in ISO 8601 format such as 2024-03-15 or 2024-03-15T09:30:00Z become Excel dates (you can switch this off). The time is kept as written; Excel has no time zones.
Is there a size limit?
There is no fixed limit; the work is done by your browser, so tens of thousands of rows convert in a second or two. Excel itself allows 1,048,576 rows and 16,384 columns per sheet, and up to 32,767 characters in a cell.
Does it support JSON Lines (NDJSON)?
Yes. If the input is one JSON object per line instead of a single array, it is read as a list of records automatically.
Is my data uploaded?
No. The JSON is parsed and the .xlsx file is assembled in your browser with JavaScript. Nothing is sent to a server.