JSON to Excel Converter (.xlsx)

Turn a JSON array into a real Excel workbook. Nested objects become columns, numbers stay numeric so you can sum them, and the header row is bold and frozen.

Runs in your browserUpdated
Open file (.xlsx, .csv, .json)
Input

Input preview

Your data never leaves your computer. All processing happens 100% locally in your browser.

How to use the JSON to Excel

  1. Paste a JSON array of objects, open a .json file, or click Load sample.
  2. Choose how nested objects are handled — flattened into parent.child columns or kept as JSON text in one cell.
  3. Set the file and sheet name and the header options.
  4. Click Download .xlsx, or copy the tab-separated output and paste it straight into Excel or Google Sheets.

What is JSON to Excel conversion?

JSON is how APIs and apps exchange data; Excel is how most people read, filter and share it. Converting JSON to Excel means turning each object in an array into a row and each key into a column, then saving the grid as an .xlsx workbook. This tool writes a genuine Office Open XML file in your browser — not a CSV renamed to .xlsx — so Excel, Google Sheets, LibreOffice and Numbers open it without import dialogs.

How nested JSON becomes columns

Spreadsheets are flat, so nested objects must be flattened. Given:

{ "sku": "KB-001", "price": 89.99, "dimensions": { "width": 44, "depth": 13 } }
Nested optionColumns produced
Flatten to columnssku, price, dimensions.width, dimensions.depth
Keep as JSON valuesku, price, dimensions = {"width":44,"depth":13}

Columns are the union of keys across all records in first-seen order, so objects with missing keys get empty cells. Arrays are written as JSON text in a single cell.

Why a real .xlsx beats CSV for Excel

  • Types survive. Numbers are stored as numbers and booleans as TRUE/FALSE, so formulas such as =SUM() work immediately.
  • No encoding issues. Accents, emoji and non-Latin scripts display correctly; CSV files often need a UTF-8 BOM for Excel.
  • No delimiter guessing. Excel in many European locales expects semicolons in CSV files; an .xlsx file has no delimiter at all.
  • Leading zeros are kept. Text such as "02134" is stored as text, not converted to 2134.
  • No formula injection. Every string is written as plain text, so a value like =HYPERLINK(…) is never executed.

Copy and paste instead of downloading

The output pane shows the same table as tab-separated text. Copy it and paste into any spreadsheet cell — the columns split automatically. This is handy for quick checks in Google Sheets.

Need to go back? Excel to JSON reads .xlsx files. Want a database instead of a spreadsheet? Try JSON to SQL.

Tools that pair well with the JSON to Excel

  • JSON to CSV — Turn a JSON array into a spreadsheet-ready CSV.
  • SQL to JSON, CSV & Excel — Paste a SQL dump or a few INSERT statements and get the rows back as JSON, CSV or an Excel workbook with one sheet per table.
  • CSV & Excel to SQL — Paste CSV or Excel cells, or open an .xlsx file, and get ready-to-run CREATE TABLE and INSERT statements with correctly escaped values for your database.
  • CSV & Excel to HTML Table — Paste spreadsheet cells, CSV or JSON and get semantic, escaped HTML table markup — with an optional ready-made style and a live preview.

Frequently asked questions

Does this create a real Excel file?
Yes. It generates a standard .xlsx (Office Open XML) workbook with typed cells, a bold frozen header row and sensible column widths. It opens in Excel, Google Sheets, LibreOffice and Numbers.
What JSON structure works best?
An array of objects, where each object is a row. A single object becomes one row, an array of arrays is treated as rows of cells, and if your JSON wraps the array (for example {"data": [...]}) the array is found automatically.
How large a JSON file can I convert?
There is no fixed limit — conversion runs in your browser. Tens of thousands of rows work fine; Excel itself is limited to 1,048,576 rows per sheet.
Is my data sent anywhere?
No. The workbook is built locally in your browser and downloaded directly; nothing is uploaded.

Related tools