Convert Excel (XLSX) to JSON

Parse Excel sheets into JSON online: the header row becomes field names, with records / rows output shapes. Parsed in your browser — nothing uploaded.

Files stay local .xlsx Max 50MB
Drop files here, or click to choose
Supports .xlsx · Max file size: 50MB

Options

What this tool does

Excel-to-JSON turns spreadsheet data into program-friendly key-value structures: the first row becomes field names and each data row becomes an object. It is the first step for building mock data, piping an ops sheet into a script, or drafting API examples.

Numeric cells keep their number type (price 5.5 stays 5.5, not "5.5"), and empty cells are padded with empty strings so fields never disappear. Pick the Nth sheet and choose between two output shapes. Parsing runs entirely in your browser.

How to use

  1. Pick a sheet The first sheet is converted by default; change the sheet index for multi-sheet files (1-based).
  2. Choose the output shape "Records" feeds programs directly ([{id:1},{id:2}]); "Rows" keeps the raw 2D array for further processing.
  3. Download or copy Output is 2-space-indented and ready to commit; Chinese stays as-is (no \u escapes), fully readable.

FAQ

Does legacy .xls work?

Binary .xls (BIFF) is not supported. Save it as .xlsx in Excel/WPS first; this tool handles Open XML only.

How are merged cells handled?

Only the top-left cell of a merged range holds a value; the rest read as empty strings. Flatten merged headers before converting.

What happens to dates?

Depends on the source cell: real date cells come out as ISO strings or serial numbers (SheetJS default); text dates stay as-is. For strict date handling, format cells as text or ISO in Excel first.

Can it handle hundreds of thousands of rows?

Up to 50MB per file — hundreds of thousands of rows work, but the JSON output doubles memory. For million-row sheets use csv-to-json or scripts.

Do formula cells output computed values?

Cached results (values saved by Excel) are output — formulas are neither recalculated nor parsed.

Is my file uploaded?

No. Parsing runs in a browser Worker; the file never leaves your device.

Limits

.xlsx (Open XML) only; no legacy .xls and no password-protected files.

One sheet per conversion; switch the index for other sheets.

Dates and formulas follow SheetJS defaults; no custom formatting. Up to 50MB per file.

Related tools