Excel to JSON Converter

Drop an .xlsx and get JSON. The file never leaves your browser.

📊 → { }
Drop an .xlsx workbook.xlsx — nothing is uploaded

What it does with each kind of cell

Text comes across as text, numbers as JSON numbers, and a cell that looks numeric but is stored as text — a postcode like 007 — keeps its leading zeros. Dates arrive as YYYY-MM-DD, or with the time appended when the cell carries one. A formula gives the value Excel last calculated for it, not the formula itself. Checkboxes read as TRUE and FALSE, and an error cell keeps its #DIV/0! so you can find it.

Blank cells and blank rows are preserved in place. A row that only fills columns C and F still puts those values in the third and sixth positions rather than sliding them to the front.

Header row, or plain arrays

With First row is header ticked you get an array of objects keyed by the column names. Two columns sharing a name are kept apart rather than overwriting each other. Untick it and you get an array of arrays, which is what you want when the sheet has no header or when the position of each column matters more than its name.

Frequently asked questions

Is my spreadsheet uploaded anywhere?

No. The file is read by JavaScript on your own machine and never sent to a server. You can disconnect from the network and it still works.

Can it open an old .xls file?

No. The old .xls is a completely different binary format, and pretending to read one would only produce nonsense. Open it in Excel or LibreOffice and save as .xlsx first.

What about macros, charts and formatting?

Only the cell values are read. Charts, images, colours and macros are ignored — JSON has nowhere to put them.

Something wrong with this tool, or an idea for it? Tell us