How to Convert JSON to Excel: Complete Guide
Last updated: 2026-04-15
JSON is the language of APIs. Excel is the language of business. When a product manager asks for "the data in a spreadsheet," what they really want is a cleanly formatted .xlsx file they can open in Excel or Google Sheets without any import wizards. This guide walks through converting JSON to Excel quickly, covering edge cases like nested objects and arrays.
Step-by-Step: Convert JSON to Excel with Convertee
- Open Convertee and select JSON as the source and Excel as the target format.
- Paste your JSON array into the input panel, or drop a
.jsonfile onto it. - Click Convert (Cmd+Enter).
- Download the generated
.xlsxfile. Open it in Excel, Google Sheets, or LibreOffice Calc.
The entire conversion runs in your browser via the SheetJS library. Your JSON never leaves your machine.
Understanding the Formats
JSON
JSON (RFC 8259) supports objects, arrays, strings, numbers, booleans, and null. For Excel conversion, the expected input is an array of objects with consistent keys. Each key becomes a column header, each object becomes a row.
Excel (.xlsx)
The .xlsx format is an ECMA-376 Open XML Spreadsheet standard. It stores data in a zipped collection of XML files, supporting multiple sheets, cell types, formulas, and styling. Unlike CSV, Excel preserves column types (number, date, string) and supports formatting out of the box.
Before / After Example
Input JSON:
[
{ "product": "Widget", "price": 9.99, "qty": 150 },
{ "product": "Gadget", "price": 24.50, "qty": 80 },
{ "product": "Doohickey", "price": 4.25, "qty": 340 }
]Output Excel (visualized as a table):
| product | price | qty |
|---|---|---|
| Widget | 9.99 | 150 |
| Gadget | 24.50 | 80 |
| Doohickey | 4.25 | 340 |
Handling Nested JSON
Nested objects are flattened with dot-notation. An input like {"user": {"name": "Alice", "age": 30}} produces columns user.name and user.age. Arrays within objects are serialized as JSON strings in the cell, since Excel cells do not support sub-tables.
Common Use Cases
- Reporting. Pull data from an API, convert to Excel, and share with stakeholders who prefer spreadsheets over JSON payloads.
- Data validation. Open your API response in Excel to spot-check values, apply conditional formatting, or build pivot tables for quick analysis.
- Handoff to non-technical teams. Finance, ops, and support teams work in spreadsheets. Giving them Excel directly eliminates a conversion step on their end.
- Archival. Excel files are self-contained, typed, and widely supported. They make a good archival format for tabular API snapshots.
Tips for Clean Output
- Ensure your JSON array has consistent keys across all objects. Missing keys produce blank cells, which is fine, but unexpected column headers may confuse readers.
- Dates stored as ISO strings (
2026-04-15T00:00:00Z) are written as text. If you need Excel date formatting, convert the column after opening the file. - Large arrays (10,000+ objects) work, but the generated file size grows. For massive datasets, consider CSV for transfer and Excel only for presentation.
Frequently Asked Questions
- Does converting JSON to Excel preserve data types?
- Yes. Numbers are stored as numeric cells, strings as text, and booleans as TRUE/FALSE. Dates stored as ISO strings are written as text; you can format them as dates in Excel after opening the file.
- How are nested JSON objects handled in Excel?
- Nested objects are flattened using dot-notation (e.g., user.name, user.age become separate columns). Arrays within objects are serialized as JSON strings in the cell, since Excel cells cannot contain sub-tables.
- Is there a row limit for conversion?
- The practical limit is your browser's available memory. For most machines, 50,000-100,000 rows convert without issues. Excel itself supports up to 1,048,576 rows per sheet.