Skip to main content

Excel to JSON

Convert an Excel workbook to JSON in your browser. Objects, arrays or columns, every sheet at once, with dates resolved and leading zeros kept.

This tool runs entirely in your browser. Nothing you enter is sent to our servers, so there is nothing for us to store or see.

About the Excel to JSON

Convert an Excel workbook (.xlsx) straight to JSON, without going through CSV first and losing the sheet names on the way. Everything runs inside this page on your own device, so the workbook is never uploaded.

A single sheet converts to its data directly — an array, which is what you want to paste into code. A workbook with several sheets converts to an object keyed by sheet name, because that is the one thing a multi-sheet workbook has that a single sheet does not, and flattening it into one array would silently merge unrelated tables.

Dates are the detail worth knowing about. A spreadsheet does not store dates: it stores numbers with a display format attached, so the cell showing 15 March 2023 actually holds 45000. Each cell is resolved through the style it points at and written as YYYY-MM-DD, so your JSON contains a readable date rather than a five-digit number nobody can interpret. Formulas contribute the values they produced, not their expressions.

Type conversion is optional and off by default. Turned on it produces real JSON numbers and booleans, but only for values that survive the round trip unchanged — so a product code like 00714 stays a string instead of becoming 714. Duplicate column headings are suffixed rather than allowed to overwrite each other, since a JSON object cannot hold the same key twice.

How to use the Excel to JSON

  1. Choose your workbook

    Drop an .xlsx file onto the box or click to pick one. Several workbooks can be queued and converted in turn.

  2. Pick the sheets and shape

    Convert the first sheet with data or every sheet at once, and choose between an array of objects, an array of arrays, or one key per column.

  3. Decide about types

    Leave type conversion off to keep every value as text, which is safe for codes and identifiers. Turn it on when you need real numbers and booleans.

  4. Download the JSON

    The .json file appears on the row with its sheet and row count, named after your workbook.

Frequently asked questions

Is my workbook uploaded anywhere?

No. The file is unpacked and read entirely inside your browser and nothing is sent to a server. You can disconnect from the internet after the page loads and the tool will keep working exactly as before.

What do I get for a workbook with several sheets?

An object keyed by sheet name, each key holding that sheet's data in the shape you chose. Sheet names are the only structure a multi-sheet workbook has beyond a single sheet, so merging every sheet into one array would quietly combine unrelated tables with different columns.

Why is my date a five-digit number in other converters?

Because a spreadsheet stores dates as numbers with a display format attached — the cell showing 15 March 2023 really contains 45000. Each cell is resolved here through the style it points at and written as YYYY-MM-DD, including a correction for the 1900 leap-year quirk Excel has carried since the 1980s.

Will codes with leading zeros survive?

Yes. Values are taken exactly as the workbook stores them, and even with type conversion switched on only values that convert back to identical text become numbers. So 00714 stays "00714" rather than turning into 714, which is the most common way a spreadsheet export is quietly corrupted.

What happens to formulas and error cells?

A formula contributes the value it last produced, because that is what the spreadsheet was displaying and JSON has no way to express a formula. A cell holding an error such as #N/A is passed through as that text rather than blanked, so a broken formula is visible instead of looking like missing data.

Can it read a .xls file?

No, and it says so clearly rather than failing vaguely. The older .xls is an unrelated binary format rather than a variety of .xlsx. Open it in Excel, LibreOffice or Numbers and save it as .xlsx first, which takes seconds and loses nothing.