Convert JSON to Excel
Formatted .xlsx,
real types, one click.
Free JSON to Excel converter. Get a genuine .xlsx — bold headers, auto column widths, frozen row, type detection. Powered by SheetJS. Runs entirely in your browser — your JSON never leaves your device.
Three steps to a properly formatted .xlsx — no Excel installation needed.
Paste your JSON array or upload a .json file. A live preview table appears immediately with your column headers — nested objects are shown already flattened so you can verify the structure before generating the Excel file.
Choose bold header styling, auto-fit column widths, frozen header row and type detection. Set the sheet name — it appears as the tab label at the bottom of the Excel window. Toggle dot-notation flattening for nested objects.
Click Convert and download the .xlsx file. It opens directly in Microsoft Excel, Google Sheets, LibreOffice Calc or Apple Numbers — a proper Excel file with real types, not a renamed CSV. Formulas, filters and pivot tables all work as expected.
The difference between a genuine .xlsx and a plain text CSV.
A CSV file is plain text — every value is a string. When Excel opens a CSV it auto-guesses types, which causes common problems: long numbers become scientific notation, phone numbers lose leading zeros, dates get misread, and there is no formatting metadata at all.
A .xlsx file is a structured binary format (Office Open XML) with explicit data types, cell styling, column widths, sheet names and freeze panes. Numbers are stored as numbers, dates as date serials, and text as text — no guessing. The file carries its own formatting instructions that Excel reads directly without any import dialog.
JSONshift uses SheetJS — the most widely deployed open-source JavaScript library for Excel generation, used in thousands of production applications with over 30 million weekly npm downloads — to produce a genuine .xlsx from your JSON data entirely inside your browser.
Common workflows where a formatted .xlsx is more useful than raw JSON.
API responses and backend exports arrive as JSON. Converting to Excel lets you build pivot tables, charts and conditional formatting directly — without writing a data pipeline or re-importing into a separate spreadsheet tool.
JSON is unreadable for non-technical stakeholders. An .xlsx file opens in any spreadsheet application, with column headers they can sort, filter and annotate — no technical knowledge required.
JSON exports from billing, ERP or accounting APIs contain numeric values that must work in Excel formulas. Type detection ensures amounts become Excel numbers — enabling SUM, AVERAGE and currency formatting without manual column re-typing.
Database query results and API responses exported as JSON can be archived in Excel format for long-term storage — preserving column types, header styling and sheet structure in a format that any business user can open in ten years.
What each setting produces in the output .xlsx file.
| Option | Values | What it does |
|---|---|---|
| Sheet name | Any text (max 31 chars) | Sets the worksheet tab name visible at the bottom of the Excel window. JSONshift pre-fills this with your filename. Descriptive names like "Sales Q2" or "Users" are more useful than the default "Sheet1". |
| Header style | Styled · Plain | Styled applies bold white text on a dark navy background to the first row — visually distinct for easy scanning. Plain leaves the header unstyled, useful when you want to apply your own formatting in Excel afterwards. |
| Column widths | Auto-fit · Default | Auto-fit measures the longest value in each column (up to 100 rows) and sets the column width accordingly — between 8 and 50 characters. Eliminates the manual Format → AutoFit step. Default uses Excel's standard width of ~8.43 characters. |
| Freeze header row | Freeze · No freeze | Freeze fixes row 1 so it stays visible when scrolling through large datasets. Applied to the .xlsx file itself — no need to set it manually in Excel. Essential for tables with more than ~30 rows. |
| Value types | Auto-detect · Strings only | Auto-detect converts numeric strings to Excel numbers and ISO date strings to Excel date values — enabling formulas and date sorting. Strings only preserves all values as text — use this for phone numbers, postal codes or any value with leading zeros. |
| Nested objects | Flatten · Keep as string | Flatten recursively expands nested objects into additional columns using dot-notation — address.city, address.zip. Keep as string serializes nested objects back to a JSON string in a single cell. |
Other free converters you might need next.
Excel generated in
your browser. No upload.
JSONshift uses SheetJS — the most widely deployed open-source Excel library, used in thousands of production applications — to generate genuine .xlsx files directly in your browser. Your JSON data is parsed locally and never transmitted to any server.
The resulting file is a real .xlsx in Office Open XML format — not a renamed CSV. It contains proper cell types, styling metadata, column width definitions and sheet structure that Excel reads natively. Formulas, filters and pivot tables all work out of the box.
