Find your next tool

Browse tools or search by task

Explore JSONToonPro

JSON Tools

JSON to Excel Converter – Export JSON to XLSX

Convert JSON to a real Excel XLSX file online. Flatten structured data into rows, preserve useful types and download the workbook from your browser.

Runs locally in your browser. Nothing you paste is uploaded.

JSON to Excel workspace
Input/ JSON
0 chars0 lines
Output/ Excel preview
Paste valid JSON to preview the Excel sheet.
0 chars0 lines

How to Convert JSON to Excel

Paste JSON, choose flattening and review the sheet preview. Download creates an XLSX workbook locally. Use JSON to CSV if a plain text interchange file is more useful than a workbook.

How JSON Becomes Spreadsheet Rows

Records become rows and property names become headers. The converter gathers keys across records so sparse fields can still have columns. A primitive list can be represented as a single value column.

Flattening Nested JSON for XLSX

Flattening makes nested object paths available as columns. Nested arrays are serialized within cells rather than creating relational sheets. Check very wide data and path names before handing the workbook to another person.

Data Types, Headers and Large Files

Numbers and booleans can become typed cells; date strings stay strings unless explicitly converted. Excel numeric precision and browser memory both impose practical limits. Preview is limited, so check the downloaded row count for larger inputs.

JSON to Excel vs JSON to CSV

XLSX preserves worksheet structure and cell types. CSV is simpler, smaller to inspect as text and broadly supported, but has no worksheet model. Choose the format your receiving software actually expects.

More examples and technical details

What an xlsx File Actually Is

An .xlsx file is not a text format. It is a ZIP archive containing a folder structure of XML documents defined by the Office Open XML standard. Rename one to .zip and unpack it and you will find a workbook definition, one XML file per worksheet, a shared strings table, a styles part, and a relationships file that ties them together.

This matters because it explains the whole difference between this converter and a CSV export. CSV is a stream of characters with no idea what a type, a sheet, or a column width is. xlsx has a place to record all of it. When you write a number to an xlsx cell, the file says that cell is numeric and Excel does not have to guess.

Side by Side Example

A staff roster and the worksheet grid it produces. Types shown in brackets are what gets written into the sheet XML.

JSON input

[
{ "staff_id": "00417",
"name": "Marta Silva",
"hours": 37.5,
"active": true,
"site": { "code": "LDN-2" } },
{ "staff_id": "00892",
"name": "Tom Okafor",
"hours": 22,
"active": false,
"site": { "code": "MAN-1" } }
]

Worksheet

A B C D E
1 staff_id name hours active site.code
2 00417 Marta Silva 37.5 TRUE LDN-2
3 00892 Tom Okafor 22 FALSE MAN-1
 
A2 [text] B2 [text] C2 [number]
D2 [boolean] E2 [text]

Column A keeps its leading zeros because the cell is explicitly written as text. Save the same data as CSV and open it by double clicking, and column A becomes 417 and 892.

What xlsx Preserves That CSV Loses

CapabilityCSVxlsx
Cell data typesNone, everything is textNumber, text, boolean, date, error, formula
Multiple sheetsOne file per tableMany sheets in one workbook
Number formattingNoneCurrency, percentage, decimal places, custom masks
Column widthsNoneStored per column, can be auto sized
Header stylingNoneBold, fill, borders, freeze panes
FormulasStored as literal textLive and recalculated
EncodingAmbiguous without a byte order markAlways UTF-8 internally
File sizeSmaller for plain dataLarger, but compressed

Nested JSON is still flattened into columns using dot notation, exactly as it would be for CSV, because a worksheet is just as rectangular as a CSV file. The advantage is entirely in what each cell can carry, not in the shape of the grid. Arrays inside a record are either joined into a single cell or expanded into indexed columns, with the same trade off as any flattening.

Excel Hazards in Detail

Leading zeros disappear

Any value Excel decides is numeric loses its padding, so employee code 00417, UK postcode style references, and account numbers all shrink. Writing a real xlsx with the column typed as text avoids this entirely. Going through CSV does not, because there is nowhere in the file to record the intent.

Fifteen significant digits and no more

Excel stores numbers as IEEE 754 doubles and displays a maximum of fifteen significant digits. A sixteen digit card number or a long database identifier is rounded, and the digits beyond the fifteenth become zeros. This is a silent, irreversible data loss. Long identifiers must be written as text.

What happens to a long number

Source value 4012888888881881
As number 4012888888881880 (last digit lost)
Displayed 4.01289E+15
As text 4012888888881881 (correct)

Strings that turn into dates

Excel's date recognition is aggressive and locale dependent. Values like 1-2, 3/4, MAR-1, and 2025-3 are all read as dates. The gene naming case is the best documented example: SEPT1 and MARCH1 became dates so reliably that the research community renamed the genes rather than keep fighting the spreadsheet.

The row limit

A worksheet holds at most 1,048,576 rows and 16,384 columns. That is 2 to the power 20 rows, a limit set in 2007 and unchanged since. Exceeding it does not warn you gracefully in every path, so a large export can be truncated. If your data approaches a million rows, a spreadsheet is the wrong container and a database or a Parquet file is the right one.

Forcing Values to Stay Text

  1. Best option: generate a real xlsx with the column written as a text type. The intent lives in the file and survives every open, edit, and save.
  2. If you must use CSV, import through Data then From Text/CSV and set the affected columns to Text in the preview before loading. Never double click the file.
  3. Format the destination column as Text before pasting, not afterwards. Reformatting after the fact does not bring back digits that were already discarded.
  4. The apostrophe trick: a leading single quote in a cell marks the content as text. It works, but the apostrophe is part of the cell in some export paths, so use it for quick manual fixes rather than pipelines.

When CSV Is Still the Better Choice

xlsx is not automatically the right answer. Choose CSV when the consumer is a program rather than a person, when a database bulk loader is reading the file, when the data is genuinely enormous and streaming matters, or when the file needs to be diffed in version control. CSV is plain text, so a git diff on it is readable and a change is reviewable. A diff on a ZIP of XML is not.

Choose xlsx when a human will open the file, when types and leading zeros must survive, when you need more than one table in one deliverable, or when the recipient will complain about the columns being wrong. Which, in practice, is most of the time.

Spreadsheets are often one output of several. Browse the full converter collection for JSON to CSV when a program is reading the file, CSV to JSON to bring a colleague's spreadsheet back into your pipeline, and JSON to SQL when the data belongs in a table rather than a workbook.

Standards and references

Frequently asked questions

How do I convert JSON to Excel?

Paste JSON, review the tabular preview and use Download XLSX.

Does the tool create a real .xlsx file?

Yes. The file is an Open XML workbook packaged as ZIP, not CSV renamed to .xlsx.

How are nested objects flattened?

Nested property paths become column names when flattening is enabled.

Are numbers and dates preserved?

Numbers and booleans are typed. Date strings remain strings; precision-sensitive numbers need review in Excel.

Is the file generated locally?

Yes. The XLSX archive is built in your browser.