ToolFeather
Developer / SEORuns in your browser

Excel (.xlsx) to JSON Converter

Convert an Excel sheet into a JSON array of objects: the header row becomes keys, numbers and booleans keep their types, and date cells become ISO strings — read straight from the .xlsx in your browser.

Quick presets

Excel (.xlsx) to JSON Converter

Excel workbook
Drop an .xlsx file here or click to chooseRead in your browser — never uploaded
JSON

Table preview –

Runs in your browser — nothing you enter is uploaded or stored.

ToolFeather · XLSX → JSON
Scratchpad auto-saved
Stored in this browser (localStorage)
Step-by-step~40s read

How it works — in four simple steps

No signup and nothing to install — it all runs in your browser.

1

Open your workbook

Drop an .xlsx file on the box or click to choose one; pick the sheet if the workbook has several.

2

Set the options

Adjust the options above the boxes — the output updates instantly as you change them.

3

Check the result

Read the status line: it reports rows, keys and any value that couldn't be represented in JSON.

4

Copy or download

Copy the JSON or download it as a .json file. Nothing was uploaded at any point.

Pro tip

Text codes like 00742 survive because the values are read from the workbook itself, not from a CSV export.

Features

Header row or not

Use the first row as field names, or treat every row as data with generated column1, column2… names.

Real types, not just strings

Numbers, booleans and empty values are detected — while codes with leading zeros such as 00742 or +44 phone numbers stay text.

Rebuild nested objects

Headers like address.city can be folded back into nested objects instead of flat dotted keys.

Pretty or minified

2 or 4 spaces, tabs, or a minified single line for the smallest possible file.

Private by design

Parsing and conversion run in your browser with JavaScript — your data is never uploaded, logged or stored.

About the Excel (.xlsx) to JSON Converter

Spreadsheets are where a lot of data starts life — product catalogues, translation strings, price lists, seed data — and JSON is where applications want it. This converter reads the .xlsx file directly (it's a ZIP of XML defined by ECMA-376), picks the sheet you choose, and turns each row under the header into an object.

Because the data comes from the workbook rather than from a CSV export, types survive: numeric cells become JSON numbers, TRUE/FALSE become booleans, text stays text — including codes like 00742 that a CSV round-trip would mangle — and date-formatted cells become ISO 8601 strings such as 2026-10-21. Empty cells become null. Tick Nest dotted headers to build nested objects from columns like price.amount and price.currency.

Header cells that are empty get generated names (column3), so every value has a key. If your sheet has no header row, untick First row is the header.

Examples

The Sample button builds a small team workbook in your browser; its first sheet converts to this JSON.

Workbook “sample-team.xlsx” · first sheet
#idnameemailcityscoreactivejoined
11Ada Lovelaceada@example.comLondon98.5true2024-03-14
22Alan Turingalan@example.comManchester91false2023-11-02
33Grace Hoppergrace@example.comNew York95.25true2025-01-20
44Katherine Johnsonkj@example.comHampton, VA99true2022-07-09
JSON output
[
  {
    "id": 1,
    "name": "Ada Lovelace",
    "email": "ada@example.com",
    "city": "London",
    "score": 98.5,
    "active": true,
    "joined": "2024-03-14"
  },
  {
    "id": 2,
    "name": "Alan Turing",
    "email": "alan@example.com",
    "city": "Manchester",
    "score": 91,
    "active": false,
    "joined": "2023-11-02"
  },
  {
    "id": 3,
    "name": "Grace Hopper",
    "email": "grace@example.com",
    "city": "New York",
    "score": 95.25,
    "active": true,
    "joined": "2025-01-20"
  },
  {
    "id": 4,
    "name": "Katherine Johnson",
    "email": "kj@example.com",
    "city": "Hampton, VA",
    "score": 99,
    "active": true,
    "joined": "2022-07-09"
  }
]

This output was produced by the converter on this page with the default options — load it with the “Sample workbook” preset above and change any option to see the effect.

How Excel (.xlsx) maps to JSON

In Excel (.xlsx)Becomes in JSON
Header rowobject keys
Each row belowone object
Number cellJSON number
Text 00742"00742"
Date cell"2026-10-21"
TRUE / FALSEtrue / false
Empty cellnull
Header price.amount + Nest"price": {"amount": …}

Things that trip people up

Excel (.xlsx) vs JSON at a glance

PropertyExcel (.xlsx)JSON
SpecificationECMA-376 / ISO/IEC 29500 (Office Open XML)RFC 8259 (2017) · ECMA-404
File extension.xlsx.json
Media typeapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetapplication/json
Data typesnumber, text, boolean, date (as a serial number), formulastring, number, boolean, null, object, array
CommentsCell notesNo
NestingNone (grid; several sheets)Unlimited

Frequently asked questions

5 answers
How do I convert an Excel sheet to JSON?
Drop the .xlsx on the box, choose the sheet if there are several, and the JSON array appears — ready to copy or download as data.json.
Are numbers and dates kept?
Yes. Numeric cells become JSON numbers, booleans become true/false, and date-formatted cells become ISO 8601 strings.
Can I convert all sheets at once?
One sheet at a time — use the Sheet drop-down to switch. Each sheet gives you its own array.
Is my spreadsheet uploaded?
No. The workbook is unzipped and parsed in your browser; you can even disconnect from the internet after the page loads.
Is my data uploaded anywhere?
No. The Excel (.xlsx) is parsed and converted by JavaScript in your browser tab; nothing is sent to a server, so it is safe for internal exports, customer lists and configuration files with secrets.