Excel to JSON Converter
Drop an .xlsx or .xls file and turn any sheet into clean JSON, right in your browser. Your spreadsheet never leaves your device.
The Excel to JSON converter parses your workbook entirely in your browser. The file and every cell in it stay on your device and are never uploaded to ArrayKit.
Open the CSV to JSON converter
About Excel to JSON
The Excel to JSON converter turns a workbook into structured JSON without leaving your browser. Drop an .xlsx or .xls file, pick the sheet you want, and choose the shape: an array of objects keyed by the header row, or a raw 2-D array of every row. Cell values keep their type — numbers stay numbers, checkboxes become true or false, and date cells are emitted as ISO 8601 strings so they parse cleanly downstream. Blank rows are skipped and duplicate or empty header names are made unique automatically, so the output drops straight into an API request, a seed script, or a test fixture. It is built for developers, analysts, and QA engineers who get spreadsheets from stakeholders and need JSON in seconds. The whole workbook is parsed on your device — nothing is uploaded.
Features
- Drag and drop .xlsx, .xls, .xlsm, and .ods workbooks
- Pick any sheet from a multi-tab workbook with one dropdown
- Output an array of objects keyed by the header row, or a plain 2-D array
- Toggle the header row on or off without re-importing the file
- Keeps types: numbers stay numeric, checkboxes become booleans
- Date cells are converted to ISO 8601 strings for reliable parsing
- Empty and duplicate column headers are renamed so keys stay unique
- Copy the JSON or download it as a .json file in one click
How to use the Excel to JSON
- Drop your .xlsx or .xls file onto the drop zone, or click to browse
- Choose the sheet you want from the Sheet dropdown
- Pick 'Array of objects' or '2-D array' and toggle the header row
- Copy the JSON or download it as a .json file
Example
Input
Sheet1:
name age active
Ada 36 TRUE
Linus 54 FALSE
Output
[
{ "name": "Ada", "age": 36, "active": true },
{ "name": "Linus", "age": 54, "active": false }
]
The header row becomes the object keys; number and boolean cells keep their type.
Common errors & troubleshooting
- The JSON keys are 'Column 1', 'Column 2' instead of real names. — Your header row is blank or you turned 'First row is header' off. Turn it on so the first non-empty row supplies the keys.
- Dates come out as big numbers like 44197 instead of a date. — That is an Excel serial number. This tool reads date-formatted cells as real dates and emits ISO strings; reformat the column as a Date in Excel if a cell shows as a plain number.
- Two columns share the same header and one value keeps overwriting the other. — Duplicate headers are automatically suffixed (name, name_2, name_3) so every value is preserved under a unique key.
- The output is empty or only shows a few rows. — Check that you selected the right sheet — a workbook can have several. Fully blank rows are skipped, so gaps in the sheet are removed.
Frequently asked questions
- How do I convert an Excel .xlsx file to JSON?
- Drop the .xlsx file onto the drop zone, choose the sheet you want, and pick 'Array of objects' to key each row by the header row. Then copy the JSON or download it as a .json file. Everything runs in your browser.
- Does it keep numbers, dates, and TRUE/FALSE as their real types?
- Yes. Numeric cells stay numbers, boolean cells become true or false, and date-formatted cells are converted to ISO 8601 strings so they parse correctly in any language. Blank cells become null.
- Can I pick which sheet in a multi-tab workbook to convert?
- Yes. When the workbook has more than one sheet, a Sheet dropdown appears so you can switch tabs; the JSON updates instantly for the selected sheet without re-importing the file.
- What is the difference between 'Array of objects' and '2-D array'?
- 'Array of objects' uses the first row as keys and turns every later row into an object. '2-D array' returns each row as an array of cell values with no header handling, matching the raw grid.
- What happens to empty or duplicate column headers?
- Empty headers are named 'Column 1', 'Column 2', and so on by their position, and repeated headers get a numeric suffix (name, name_2), so every object key stays unique and no data is lost.
- Is my spreadsheet uploaded to a server to be converted?
- No. The workbook is parsed entirely on your device with an in-browser reader. The file and its contents never leave your computer and are not sent to ArrayKit or anywhere else.
Related tools
- CSV to JSON — Convert CSV or TSV to JSON with type inference and nested keys, in your browser.
- JSON to CSV — Convert an array of flat JSON objects to CSV.
- Excel to CSV — Convert an .xlsx or .xls spreadsheet to clean CSV or TSV, in your browser.
- CSV to Markdown Table — Convert CSV or TSV data into a Markdown table, with alignment and header options.
- JSON Formatter — Beautify, minify and validate JSON with error locations.
- HTML Table to JSON — Extract HTML tables into JSON or CSV, honoring headers and colspan, in your browser.
All ArrayKit tools