Convert Excel to JSON — a sheet as an array of records

Turn an .xlsx sheet into JSON records in your browser: merged cells handled, title rows skipped, formulas as values, nothing retyped.

Excel to JSONRunning on your device

Source

or drag one here · it stays on your device

Result

Add an .xlsx workbook. The selected sheet downloads as an array of records.

How this works
  1. Add your workbook. Drop an .xlsx file onto the page.
  2. Pick a sheet. The preview shows the records the JSON will hold.
  3. Download. Save the .json file.
What it cannot do
  • Only .xlsx is read; the binary .xls is refused with the save-as way out.
  • Duplicate headings cannot both be keys of one JSON object; the page refuses with the headings named rather than letting one silently overwrite the other.
  • One sheet per JSON file — records from different sheets are different tables, and mixing them is a decision, not a default.
Questions
What does each row become?
An object whose keys are the header row’s headings. Blank headings become Column N, and rows above the detected header are skipped and counted.
Do numbers come out as JSON numbers?
No — every value is a JSON string, exactly as the sheet displayed it. Casting is your consumer’s decision, made where the column’s meaning is known.
What happens to merged cells and title rows?
The same cleaning the Excel-to-CSV page does: merged ranges can fill down, and rows above the detected header are skipped and counted on the page.
What about formulas?
Each formula becomes the result Excel last saved. A formula with no saved result reads as blank, and the page counts how many did.
Is my file uploaded anywhere?
No. The conversion runs inside this page: when you convert Excel to JSON here, the browser is told to block outbound connections, so nothing can be sent to another server. Keep the Network tab of your developer tools open while you convert Excel to JSON: every request in it goes to this site, and none carries your file.

Your file is processed in this page and never uploaded — the privacy page shows how to confirm that yourself.