Convert Excel to JSON

Spreadsheets are a comfortable place to author data and an awkward place to consume it. This converter turns a worksheet into a JSON array of objects, using the header row as the keys and preserving the cell types Excel already tracked.

  • Runs in your browser
  • No signup
  • No upload
  • Free

ExcelJSON

Runs on your device
Options

Reading Excel

Writing JSON

Work with Parquet as well?See ParquetReader with ParquetReader — opens Parquet files directly.
What happens

How this converter handles Excel to JSON

  1. Lists the worksheets so you can choose the one to convert.
  2. Uses the first row as object keys, renaming duplicates rather than dropping columns.
  3. Preserves types: numeric cells become JSON numbers, dates become ISO-8601 strings, booleans stay booleans.
  4. Optionally rebuilds nesting, so user.name and user.email columns become a nested user object.
Format differences

Excel vs JSON

Spreadsheet workbooks with sheets, formatting and cell types. Nested, self-describing records that every language can read.

ExcelJSON
Type informationPer cell — text, number, date, booleanStrings, numbers, booleans, null
StructureSheets of rows and columnsNested objects and arrays
CompressionZipped XMLNone
Typical file sizeSmaller than CSV, larger than ParquetLargest — keys repeat on every record
SchemaNone beyond the header rowImplicit, per record
Human-readableOnly in a spreadsheet appYes, though verbose
Tool supportExcel, Google Sheets, LibreOfficeEvery language, natively
Worth knowing

What to watch out for

Blank rows become empty objects

Spacer rows in a spreadsheet are still rows. Trim the sheet down to the table before converting for a clean result.

Header names become JSON keys verbatim

A header of "Total (USD)" becomes the key "Total (USD)", spaces and brackets included. Rename headers first if you need clean identifiers.

Only the chosen sheet is converted

The output is one JSON array from one worksheet, not an object keyed by sheet name.

When you need this

Common reasons to convert Excel to JSON

Turning a content spreadsheet into app data

Non-technical teams maintain the sheet; the build step consumes the JSON.

Seeding a database or test fixtures

JSON loads directly into most seeding scripts.

Posting spreadsheet rows to an API

An array of objects is what almost every endpoint expects.

FAQ

Excel to JSON questions

Is my workbook uploaded?
No. The conversion runs in your browser using WebAssembly and JavaScript. The file is read from your disk into a Web Worker, converted in memory, and handed back as a download. It is never sent to a server, so there is nothing for us to store, log or leak.
How are Excel dates represented in the JSON?
As ISO-8601 strings such as 2024-01-31T00:00:00.000Z. JSON has no date type, and ISO-8601 is the format every language can parse without ambiguity.
Can I get nested JSON?
Yes, if the headers encode it. Name columns user.name and user.email, turn on "Rebuild nested objects", and the output nests accordingly.
Is .xls supported?
No — only .xlsx and .xlsm. Re-save legacy files first.
What if the first row is not a header?
Turn off "First row is the header" and the columns are named column_1, column_2 and so on, with every row treated as data.