Convert Excel files to JSON
Supports workbooks up to 150,000 rows across all sheets (files up to 90 MB). Conversion runs in the background — this tab stays responsive.
Click or drop an Excel file here
Excel to JSON reads an uploaded .xlsx, .xls, or .csv file using the xlsx library and converts every sheet to an array of row objects, entirely in your browser — your file is never uploaded to a server. Reading and parsing run off the main thread in a Web Worker, so the page stays responsive even on large files, and the result downloads automatically as a .json file. The result is a single JSON object keyed by sheet name, with each sheet's first row used as the property names for that sheet's rows.
What file formats does it support?
.xlsx, .xls, and .csv.
Is my file uploaded to a server?
No, conversion happens entirely in your browser using the xlsx library, in a background Web Worker so the page never freezes.
Can I convert multiple sheets at once?
Yes — every sheet in the workbook is converted automatically, each becoming its own array under a key named after the sheet. There's no option to merge sheets or select specific ones.
Why is there a row and file-size limit?
Excel files can't be parsed incrementally the way plain text can, so converting a very large workbook risks the tab running out of memory or taking too long. Uploaded files are capped at 150,000 rows across all sheets combined and 90 MB on desktop, measured to convert reliably.
Can I download the JSON as a file, or is it only shown on the page?
It downloads automatically as converted.json — there's no inline preview, since a large workbook's JSON output can be too big to safely render on the page.