ConverterNew

Excel to JSON Converter with Header Keys and All Sheets

Convert .xlsx sheets to JSON arrays of objects keyed by the header row, one sheet or all of them

100% client-side — your data never leaves your browserNo data stored or uploadedFree for lifetime · No signup

Drop a file here or browse

.xlsx / .xlsm only (legacy .xls is not supported) — processed in your browser

What the Excel to JSON converter does

It reads an .xlsx workbook in your browser and turns a worksheet into JSON — by default an array of objects whose keys come from the header row, the shape most APIs, seed scripts and front-end fixtures expect. Nothing is uploaded: the workbook is unzipped and parsed locally with JavaScript, so it is safe to use on internal price lists, user exports or anything confidential.

Typical jobs are turning a spreadsheet maintained by a non-developer into a config or translations file, seeding a database from a sheet, building mock data for a front end, or feeding a product catalogue into a static site. Once you have the JSON, the JSON formatter can validate or minify it, and JSON to TypeScript will generate interfaces for the objects.

Output options explained

Array of objects uses the first row as keys. Blank header cells get a key based on their column letter (column_C), and repeated headers are made unique as name, name_2 and so on, so no value is silently overwritten. Array of arrays ignores headers and gives you the raw grid, including the first row, which is useful when the sheet has no header or a multi-row one you want to handle yourself.

Empty cells can be written as null, as an empty string, or omitted entirely. Null keeps every object the same shape, which suits typed code and databases; omitting keys gives smaller output and matches how optional fields usually look in APIs. "Skip empty rows" drops rows with no values at all, which spreadsheets accumulate easily. Pretty-printing indents with two spaces; turn it off for compact single-line JSON.

All sheets mode converts every worksheet at once and returns an object keyed by sheet name — {"Products": [...], "Prices": [...]} — so a whole workbook becomes one JSON document. Each sheet uses the same header and empty-cell settings.

The preview table beside the output shows the first rows of the selected sheet, so you can confirm which row is the header before copying. If your header sits on row three, delete the rows above it in Excel first, or use array of arrays and slice the rows in code.

How cell values become JSON values

Numbers become JSON numbers and booleans become true or false. Text stays text, including values with leading zeros if they were stored as text in Excel. Formulas are not recalculated; the value Excel last saved for the cell is used, so make sure the workbook was saved after its last recalculation. Error cells keep their code as a string, such as "#N/A".

Dates need special care, because Excel stores them as serial numbers and only the cell format says they are dates. The reader checks each cell's number format against the built-in date formats and any custom format containing day, month or year codes, then writes an ISO 8601 string — "2024-01-31", or "2024-01-31T14:05:00" when there is a time part. Both Excel date systems (1900, with its historical leap-year bug, and 1904) are handled. Only .xlsx and .xlsm are supported; legacy .xls and password-protected workbooks must be resaved as a normal .xlsx first.

How to use the Excel to JSON Converter with Header Keys and All Sheets tool

  1. 1

    Drop your .xlsx file

    Choose or drag in an Excel workbook. It is parsed in your browser and never uploaded.

  2. 2

    Pick a sheet or all sheets

    Select one worksheet, or turn on All sheets to get an object keyed by sheet name.

  3. 3

    Set the output shape

    Choose array of objects (header row as keys) or array of arrays, and how empty cells and empty rows are handled.

  4. 4

    Copy or download the JSON

    Copy the result or download a .json file, then validate it in the JSON formatter or generate TypeScript types from it.

Frequently asked questions

Is my Excel file uploaded?

No. The workbook is read and converted entirely in your browser with JavaScript. Nothing is sent to TechLogHub or anywhere else.

How are column names chosen?

The first row of the sheet becomes the object keys. Empty header cells become column_A, column_B and so on, and duplicate headers get a numeric suffix such as name_2.

Can I convert all sheets at once?

Yes. Turn on All sheets and the output is a single JSON object whose keys are the sheet names and whose values are each sheet's rows.

How are dates converted?

Cells with a date or time number format are converted from Excel serial numbers to ISO 8601 strings such as 2024-01-31 or 2024-01-31T14:05:00.

Why are formulas not in the output?

The converter exports values, not formulas. It uses the result Excel cached when the file was saved; formulas are never evaluated in the browser.

Related on TechLogHub

Get the next tool before you need it

One email a week: new and trending developer tools, fresh comparisons, and what shipped. Unsubscribe in one click.