Free Excel to JSON — no upload, no account

Convert Excel to JSON
Any sheet, any size,
types preserved.

Free Excel to JSON converter. Upload any .xlsx or .xls file, pick the sheet, choose your output shape. Powered by SheetJS. Runs entirely in your browser — your file never leaves your device.

Your file never leaves your browser
Multi-sheet workbook support
4 JSON output modes
Excel dates to ISO 8601
Always free
Excel to JSON Converter   100% client-side
Excel parsing uses SheetJS — the industry-standard open-source library with 30M+ weekly npm downloads. No data is uploaded.
Drop your Excel file here
.xlsx or .xls — sheet selector appears instantly
  JSON ready

      
How to convert Excel to JSON

Three steps — upload your spreadsheet and get structured JSON in seconds.

1
Upload your Excel file

Drop or select any .xlsx or .xls file. SheetJS reads the binary format directly in your browser — no upload to any server. If the workbook has multiple sheets, a dropdown appears so you can choose which one to export.

2
Choose output mode and options

Select your JSON shape: array of objects (standard), keyed object, array of arrays or column arrays. Set the header row if your sheet has metadata rows at the top, and toggle type coercion to convert Excel dates to ISO 8601 strings.

3
Copy or download the JSON

Click Convert and copy the JSON to clipboard or download a .json file. The output is valid JSON ready for any API, database, JavaScript app or pandas read_json().

How does Excel to JSON conversion work?

What happens when SheetJS reads your .xlsx file.

An Excel .xlsx file is a ZIP archive containing XML documents — one per worksheet, one for shared strings, one for styles, and several others. SheetJS unzips the archive in memory, parses the XML, and reconstructs the cell data with their original types: numbers stay as numbers, date serials are converted to JavaScript Date objects, and strings are decoded from the shared strings table.

Excel date serials are a common source of confusion. Excel stores dates as the number of days since 1 January 1900 — so the date 15 March 2024 is stored as the number 45366. With type coercion enabled, JSONshift converts these serials to ISO 8601 strings like 2024-03-15 — a format that every JSON consumer, database and programming language understands natively.

Multi-sheet workbooks are handled by listing all available sheets after upload. You select one sheet at a time — the preview table updates immediately. If you need multiple sheets as separate JSON files, convert them one at a time using the sheet selector.

When do you need Excel to JSON?

Common workflows where JSON is more useful than a spreadsheet.

Seeding databases and APIs

Reference data, configuration tables and lookup lists often live in Excel files managed by non-developers. Converting to JSON lets you import them directly into a database, use them as API fixture data, or load them in a Node.js script without a spreadsheet parsing dependency.

Front-end data loading

Chart libraries, data tables and React components expect JSON. Converting an Excel export to a JSON array or column-arrays format lets you import it directly as a module or fetch it as a static asset — without a server-side parser.

pandas and data pipelines

While pandas reads Excel with pd.read_excel(), converting to JSON first is useful when you need to share the data with a JavaScript pipeline, inspect the types visually before loading, or use it with tools that don't have an Excel dependency.

Automation and scripting

ETL pipelines, n8n workflows and Zapier automations often work natively with JSON but require a manual step to convert Excel inputs. Pre-converting to JSON lets you drop the file directly into the pipeline input without a custom Excel-parsing node.

Conversion options explained

What each setting controls in the JSON output.

OptionValuesWhat it does
Output mode Array · Keyed · Arrays · Columns Array of objects is the default — each row becomes {column: value}. Keyed uses the first column as the key for O(1) lookup. Array of arrays is compact and includes the header row. Column arrays produces one array per column — ideal for Chart.js, D3 and Plotly.
Type coercion ISO dates · Raw values ISO 8601 converts Excel date serials to human-readable date strings (e.g. 2024-03-15). Numbers remain as JSON numbers. Raw values outputs date serials as numbers — useful when you need the exact Excel serial for further processing.
Header row Row 1 · Row 2 · Row 3 Some spreadsheets have a title or metadata rows above the actual column headers. Set this to skip those rows and treat the correct row as the header. Rows before the header row are discarded from the output.
Empty rows Skip · Include Skip filters out rows where all cells are empty — common at the bottom of real-world spreadsheets. Include keeps them as objects with null values — useful when row position is significant and gaps must be preserved.
Formatting Pretty · Minified Pretty uses 2-space indentation — readable for inspection and debugging. Minified removes all whitespace — smaller payload for API requests and static assets.
Related JSON tools

Other free converters you might need next.

Popular searches
excel to json converter convert excel to json online xlsx to json converter excel to json free convert excel file to json excel spreadsheet to json excel to json array xlsx to json array convert excel to json javascript excel to json with headers convert excel to json python excel to json sheetjs multi sheet excel to json

Excel parsed in
your browser. No upload.

SheetJS reads the binary .xlsx format entirely in your browser — unzipping the Office Open XML archive, parsing the XML cell data and reconstructing the sheet with original types. Your file is never transmitted to any server.

The output is valid JSON — numbers stay as numbers, dates become ISO 8601 strings, and empty cells become null. Multi-sheet workbooks are supported with a one-click sheet selector that updates the preview instantly.

Powered by SheetJS
Open-source library with 30M+ weekly npm downloads. The industry standard for browser-based Excel parsing.
Multi-sheet support
All sheets in the workbook are listed after upload. Select any sheet and the preview updates immediately — no re-upload needed.
Excel dates to ISO 8601
Excel date serials are converted to readable ISO date strings automatically — no more 45366 instead of 2024-03-15.
47 tools, always free
No row limits, no watermarks, no account. Funded by non-intrusive display advertising only.
Frequently asked questions
Common questions about converting Excel files to JSON.
How do I convert Excel to JSON?
Upload your .xlsx or .xls file, select the sheet you want to export, choose your output mode and options, then click Convert. Copy or download the JSON output instantly. The conversion runs entirely in your browser via SheetJS — no data is uploaded to any server.
Can I export a specific sheet from a multi-sheet workbook?
Yes. After uploading, a dropdown lists all sheets in the workbook. Select the one you want — the preview table updates instantly. To export multiple sheets, convert them one at a time using the sheet selector.
How are Excel dates converted to JSON?
With type coercion enabled, Excel date serials (e.g. 45366) are converted to ISO 8601 strings (e.g. 2024-03-15) in the JSON output. Date-times include the time component as 2024-03-15T14:30:00. With coercion disabled, the raw serial number is output instead.
My spreadsheet has metadata rows before the headers — how do I handle that?
Use the Header row option. Set it to Row 2 or Row 3 to skip the metadata rows at the top and treat the correct row as the column headers. Rows before the header are discarded from the JSON output.
Is my Excel file safe when using this converter?
Yes. SheetJS runs entirely in your browser. Your .xlsx file is never uploaded to any server. Open the Network inspector during conversion — you will see zero outbound data requests (except the one-time SheetJS CDN load on first use).
Is the Excel to JSON converter free with no row limits?
Yes, completely free. No row limits, no file size limits, no account required. JSONshift is funded by non-intrusive display advertising. Practical limits are your browser's available RAM — most modern browsers handle spreadsheets with hundreds of thousands of rows without issues.

Go up