JSON to Excel
Convert JSON to a real Excel .xlsx file online: nested objects become columns, each array can become its own sheet and the header row is frozen. No upload.
Runs in your browser · Nothing uploaded · No sign-up
Something not working, or missing a feature? Send feedback
About the JSON to Excel
The JSON to Excel Converter turns a JSON array into a real .xlsx workbook, not a CSV, so numbers stay numbers and the header row is bold, frozen and filterable. Nested objects become columns such as address.city, and an object of arrays becomes one sheet per array. The file is built in your browser and never uploaded.
Conversion happens in your browser, so your files and records stay private.
How to use the JSON to Excel
- Paste JSON or open a .json file: an array of objects, or an object whose values are arrays.
- Keep "Flatten nested objects" on to turn nested fields into columns.
- Check the preview of each sheet.
- Name the file and download the .xlsx.
Excel limits the converter checks
| Limit | Value |
|---|---|
| Rows per sheet | 1,048,576 |
| Columns per sheet | 16,384 (A to XFD) |
| Characters per cell | 32,767 |
| Number precision | 15 digits |
| Sheet name length | 31 characters, without [ ] : * ? / \ |
Common mistakes
- Objects with different keys. Columns are the union of all keys, in order of first appearance. Rows without a key get an empty cell instead of shifting the other values.
- Very long text. An Excel cell holds at most 32,767 characters. The converter names the row and column that are too long instead of writing a broken file.
Works well with the JSON to Excel
- Excel to JSON: turn a spreadsheet back into JSON.
- JSON to CSV: export a plain CSV instead.
- JSON Formatter: fix and format the JSON first.
Frequently asked questions
How is nested JSON converted?
Nested objects become dotted column names: {"address": {"city": "London"}} gives a column address.city. Arrays inside a row are written as JSON text in one cell, so no data is lost.
Can I get several sheets?
Yes. An object such as {"customers": [...], "orders": [...]} becomes a workbook with a customers sheet and an orders sheet.
Why are some numbers written as text?
Excel keeps only 15 significant digits. Long IDs such as 9007199254740993 would be rounded, so they are stored as text to keep every digit.
Does it work with Google Sheets and LibreOffice?
Yes. The file is a standard Office Open XML workbook, which Excel, Google Sheets, LibreOffice Calc and Numbers all open.
Related tools
JSON to CSV
Convert JSON arrays to CSV online with automatic column detection, nested object flattening and custom delimiters. Open the result in Excel or Sheets.
CSV to JSON
Convert CSV to a JSON array online with header detection, type inference and delimiter auto-detection. Turn spreadsheet exports into data for APIs and code.
JSON to XML
Convert JSON to well-formed XML online with a configurable root element and attribute support. Validate the input and download the XML file.
XML to JSON
Convert XML to JSON online, keeping attributes and turning repeated elements into arrays. Malformed XML is reported with its location.
JSON to YAML
Convert JSON to clean, human-readable YAML online. Turn API responses and package files into config for Kubernetes, Docker Compose or CI pipelines.
YAML to JSON
Convert YAML documents to formatted JSON online with syntax validation. Errors are reported by line, so broken indentation is quick to find and fix.