# Excel to JSON

Convert an Excel .xlsx sheet into JSON records, using the cell types the file itself declares. Free, and the workbook is never uploaded.

Canonical page: https://filetity.com/excel-to-json

## Capabilities

- Free: Yes, with no watermark and no page limit.
- Account required: No. There is no account system.
- Processed on device: Yes. The file is read by your browser and never uploaded. There is no server to send it to.
- Formats: Excel .xlsx workbooks in, including multi sheet ones. JSON out, an array of objects keyed by the first row.
- Limits: The whole workbook is held in memory. Older .xls files are a different, binary format and are not read; open one in a spreadsheet and save it as .xlsx first.
- Mobile: Yes, on any modern mobile browser. Large files are limited by the memory the phone gives the browser.
- Offline: Yes, once the page has loaded. The tool keeps working with no network connection.

## Questions

### Why does a number in my sheet come out as a string?

Because the file says it is text. Excel records a type for every cell, and a value entered with a leading zero or into a column formatted as text is stored as a string. Reading that back as a number would quietly discard what the person who made the sheet deliberately preserved.

### What happens to dates?

Excel stores a date as a number of days since the end of 1899 with a display format attached, so a date is only a date because the format says so. Those cells are converted to ISO text. Values in the first sixty serials fall inside Excel's deliberate 1900 leap year bug and are handed back as numbers rather than guessed at.

### Can it read a workbook with several sheets?

Yes, and every sheet is listed so you can switch between them. Each is converted separately, because a JSON document holding several unrelated tables is rarely what anyone wants and merging them would need a rule nobody agreed to.

### What about formulas?

The cached result is used, which is the value Excel last calculated and what you see in the sheet. The formula itself is dropped. A cell whose formula has never been calculated has no cached value and comes back empty, which is accurate rather than a failure.

### Does this work on an old .xls file?

No. The old .xls is a binary format from a different era and shares almost nothing with .xlsx, which is a zip of XML. Open the file in Excel, LibreOffice or Numbers and save it as .xlsx, then convert.

## Related tools

- [CSV to Excel](https://filetity.com/csv-to-excel): Turn a CSV into a real Excel .xlsx workbook, with zeros intact.
- [JSON to CSV](https://filetity.com/json-to-csv): Turn a JSON array into a CSV file that opens correctly in a spreadsheet.
