JSON to Excel Converter

Turn JSON arrays or objects into a downloadable Excel workbook. Paste or upload JSON, flatten nested fields, and export real numbers, text, and booleans — all in your browser.

100% Client-Side Processing

Your JSON is parsed and converted entirely in your browser. Nothing is uploaded to a server.

Options

What is a JSON to Excel Converter?

A JSON to Excel converter takes structured JSON data — an array of objects, or a single object — and writes it into a real Excel workbook (.xlsx), the spreadsheet format used by Microsoft Excel, Google Sheets, LibreOffice Calc, and most business reporting and data-import tools.

Unlike a plain-text CSV export, an Excel workbook stores typed cells: numbers stay numbers, true/false stay real booleans, and text stays text — so a column of prices or a column of flags behaves correctly the moment you open the file, with no manual retyping or "convert to number" cleanup step.

How it Works

  • Add your JSON: Paste JSON directly into the editor, or upload a .json file.
  • Choose your options: Set a sheet name and file name, decide whether to include a header row, and whether to flatten nested objects and arrays.
  • Check the preview: The tool parses your JSON in your browser and shows a live table preview of the first rows, along with row and column counts.
  • Convert and download: Click Convert to Excel to generate a real .xlsx file and download it immediately.

Features

  • Paste JSON or upload a .json file
  • Works with a single JSON object or an array of objects
  • Flattens nested objects into dot-notation columns (e.g. address.city)
  • Flattens nested arrays into indexed columns (e.g. tags[0], tags[1])
  • Keeps numbers and booleans as real Excel types, not text
  • Automatically builds a header row from the union of all keys
  • Custom sheet name and file name
  • Live table preview before you download
  • Generates a genuine .xlsx workbook, not a renamed CSV
  • 100% client-side processing for privacy

Best Practices

  • Use an array of objects with consistent keys: Excel works best when every object has roughly the same fields — missing keys just produce empty cells, but wildly different objects produce a very wide, sparse sheet.
  • Turn on flattening for nested data: if your JSON has nested objects or arrays, keep "Flatten nested objects/arrays" on so each value gets its own column instead of a raw JSON string.
  • Check the preview before downloading: the table preview shows exactly what will land in your spreadsheet, including column order, so you can catch a wrong flattening choice before generating the file.
  • Give the sheet a meaningful name: sheet names are limited to 31 characters and can't contain \ / * ? : [ ] — the tool sanitizes this automatically, but a short, descriptive name is easier to find in a workbook with multiple tabs.
  • Double-check dates: JSON has no native date type, so date strings are written as plain text — select the column in Excel and use "Convert Text to Columns" or a date-parsing formula if you need real date cells.

Troubleshooting

It says my JSON is invalid

Check for a trailing comma after the last item in an array or object, unquoted keys, single quotes instead of double quotes, or an unclosed bracket — these are the most common reasons JSON fails to parse.

Nested fields show up as raw JSON text like {"city":"London"}

Turn on "Flatten nested objects/arrays" so nested values are split into their own dot-notation columns instead of being kept as a single JSON string.

The workbook has far more columns than I expected

This usually happens when objects in the array have different shapes, or when an array field flattens into one column per item (tags[0], tags[1], tags[2]…). Consider disabling flattening for that field, or normalizing your JSON first.

Numbers are right-aligned in some rows and left-aligned in others

This means the same field held a number in some objects and a text string in others (e.g. "42" as a string versus 42 as a number) — Excel writes each cell with the type it received from your JSON, so cleaning up the source data's consistency fixes the mismatch.

Common Use Cases

  • Turning API responses into a workbook: convert a JSON response from a REST API into an Excel file for analysis, sharing, or a management report.
  • Building reports for non-technical stakeholders: a formatted .xlsx file with real numbers is far more usable to a manager or client than a JSON payload.
  • Preparing data for pivot tables and charts: Excel's pivot tables and charts need real numeric columns — this tool preserves those types instead of writing everything as text.
  • Archiving exported data: .xlsx is a stable, widely supported format for long-term storage of structured records.
  • Handing data to teams that live in spreadsheets: finance, ops, and sales teams often expect an Excel file rather than raw JSON or even CSV.

Frequently Asked Questions

Does it work with a single JSON object, not just an array?

Yes. A single object is treated as one row. An array of objects becomes one row per object.

What happens to nested objects and arrays?

With "Flatten nested objects/arrays" on (the default), nested objects become dot-notation columns like address.city, and nested arrays become indexed columns like tags[0]. With it off, nested values are kept as a single JSON string in one cell.

Are numbers and true/false values kept as real Excel types?

Yes. Unlike a CSV export, this tool writes numbers and booleans from your JSON as native Excel number and boolean cells, not text — so sorting, filtering, and formulas work immediately.

Can I generate multiple sheets from one JSON file?

No, this tool writes all rows to a single named sheet. If you need multiple sheets from multiple data sets, convert each one separately and combine the workbooks in Excel.

What if my objects don't all have the same keys?

The header row includes every key found across all objects, in the order it first appears. Rows missing a given key simply get an empty cell for that column.

Do you store my JSON or the generated Excel file?

No. Everything happens locally in your browser, and nothing is uploaded or saved.

Is there a size limit?

The converter runs in your browser's memory, so very large JSON files (tens of megabytes or more) may be slow or use a lot of memory depending on your device.

Share this tool

Share a direct link or embed this tool on your site. Keep the Tooladex attribution link to support the project.