Excel to JSON Converter: Read an XLSX Sheet as JSON or CSV

Convert an .xlsx sheet to JSON or CSV in your browser. Choose the sheet and header row, set date and empty-cell handling. Nothing is uploaded.

Runs in your browser. Nothing is uploaded.

Converters

Excel to JSON

Workbook

Max 50MB each

Read in your browser, never uploaded. Up to 50 MB. Only .xlsx and .xlsm files, not the old .xls format.

Row number with the column names; 0 for none

Limits: cells show the value saved in the file (a formula's last result, never recalculated). Hidden rows and columns are included, merged cells keep only their top-left value, and charts, images and macros are ignored. Dates are read as stored (UTC).

Result

Choose an .xlsx file on the left. Pick a sheet and the JSON or CSV appears here.

Example

Input
orders.xlsx, sheet "Orders": header row id | customer | paid | date, one data row 1 | Asif | TRUE | 5 Mar 2024
Result
[
  { "id": 1, "customer": "Asif", "paid": true, "date": "2024-03-05T00:00:00.000Z" }
]

Converting a workbook

Choose an .xlsx or .xlsm file, or drag it onto the drop zone. The workbook is opened in your browser, the sheet list fills in, and the first sheet that has data is converted straight away. Pick another sheet from the list at any time. Text, numbers, booleans and dates come through as their own types, and empty cells follow the rule you choose: null, left out of the object, or an empty string.

Real spreadsheets often start with a title or a few blank rows, so you tell the tool which row holds the column names. Type 3 and rows 1 and 2 are ignored; type 0 if the sheet has no header, and keys become column_1, column_2 and so on. Duplicate or empty header cells get numeric suffixes. You can output an array of objects or an array of arrays, minified or indented, or switch to CSV with a comma, semicolon or tab delimiter and an optional Excel byte order mark on the download.

Dates and numbers

Excel stores dates as plain numbers plus a display format, and the reader recognises date formats and turns those cells into dates. You then decide how they are written: a full ISO timestamp, a date only (2024-03-05), or a date and time (2024-03-05 14:30:00). Values are read as stored, which means UTC, with no time zone conversion, so a cell showing 9:00 stays 9:00.

Numbers are read as JavaScript numbers, which are exact up to about 15 significant digits. Long identifiers such as card numbers or 18-digit ids lose their trailing digits if the cell was stored as a number, and the tool warns when it sees integers beyond 2^53. Format those cells as Text in Excel before saving to keep every digit.

What it can and cannot read

The tool reads saved values only. A formula cell gives the result Excel stored when the file was last saved; nothing is recalculated, and a formula that had an error shows as empty. Hidden rows and columns are still included, merged cells keep only their top-left value, and formatting, charts, images, pivot tables and macros are ignored. Legacy .xls files and password-protected workbooks are not supported, and you get a plain explanation saying so; open them in Excel or LibreOffice and save as .xlsx first.

Files over about a megabyte are opened in a background worker, and large sheets are converted in slices, so the page stays responsive. Files up to 50 MB are accepted, but a very large workbook may still exhaust a browser tab's memory. Nothing is uploaded: the file never leaves your device.

Frequently asked questions

Does it recalculate formulas?

No. It reads the value Excel saved last time. A formula whose result was never saved, or ended in an error, appears as an empty cell.

Can it read old .xls files?

No. Only .xlsx and .xlsm workbooks are supported. Open an .xls file in Excel or LibreOffice and save it as .xlsx.

How do I skip title rows above the header?

Set "Header row" to the row number that holds the column names. Rows above it are ignored. Use 0 when the sheet has no header.

Why do some long numbers look wrong?

Excel stores numbers as floating-point values, exact to about 15 digits. Format ids and card numbers as Text in Excel before saving to keep every digit.

Is my spreadsheet uploaded?

No. The workbook is opened in your browser and never sent anywhere.

Related tools