Convert Excel to JSON. For APIs and code, without uploading
Code and APIs often need JSON when the source data arrives in Excel. This page reads the spreadsheet and creates objects whose keys come from the header row. A single-sheet workbook produces a JSON array; a multi-sheet workbook produces an object keyed by sheet name. SheetJS runs on your device, so internal spreadsheets are not uploaded.
How it works
- Drop an .xlsx or .xls file below.
- Header cells become keys; each row becomes an object.
- Download the JSON. An array for one sheet, an object of sheets for several.
Frequently asked questions
How is the JSON structured?
The first row of each sheet is treated as the header, and every subsequent row becomes an object using those headers as keys. One worksheet gives you a flat array of objects; multiple worksheets give an object whose keys are the sheet names and whose values are those arrays.
Are cell types preserved?
Numbers come through as JSON numbers and dates as their underlying values, rather than everything being stringified. That means the output is usable directly, without a cleanup pass to re-type fields.
Does my spreadsheet leave my device?
No. SheetJS parses the workbook in your browser and builds the JSON locally. Internal business data stays put. You can confirm in the network tab that nothing is uploaded.
What if a sheet has merged cells or blank rows?
Blank rows are skipped and merged cells report their value in the top-left position, which suits most data tables. Highly formatted, report-style sheets convert less cleanly than plain tabular ones. A tidy header row and consistent columns give the best JSON.