Excel to JSON Converter

Open an .xlsx workbook or paste cells straight from Excel or Google Sheets and get clean JSON. Numbers, booleans and dates keep their types, and nothing is uploaded.

Runs in your browserUpdated
Open file (.xlsx, .csv, .json)
Input
Output
Indent

Input preview

Your data never leaves your computer. All processing happens 100% locally in your browser.

How to use the Excel to JSON

  1. Click Open file and choose an .xlsx workbook, or copy cells in Excel / Google Sheets and paste them into the left pane.
  2. If the workbook has several sheets, pick one from the sheet menu — or tick All sheets to export them together.
  3. Choose the output shape (array of objects or array of rows) and how empty cells are written.
  4. Check the preview, then Copy or Download .json.

What does an Excel to JSON converter do?

A spreadsheet is a grid: the first row usually holds column names and every row after it is one record. JSON represents the same data as an array of objects, where each object uses the column names as keys. That is the format REST APIs, JavaScript apps, NoSQL databases and most test fixtures expect:

[
  { "id": 1, "name": "Ada Lovelace", "plan": "pro", "active": true },
  { "id": 2, "name": "Grace Hopper", "plan": "team", "active": true }
]

Reading .xlsx files in your browser

An .xlsx file is a ZIP archive of XML documents (the Office Open XML format). This tool unzips it locally, reads the shared-strings table, every worksheet and the cell styles, so it can tell a real number from text and a date from a number. Your workbook never leaves your device.

Excel cellJSON value
Number 49.549.5
Text 02134 (ZIP code stored as text)"02134"
TRUE / FALSEtrue / false
Date formatted cell (serial 45306)"2024-01-15"
Date and time"2024-01-15 14:30:00"
Formulaits last calculated value

Excel stores dates as serial day numbers counted from 1900 (or 1904 on old Mac workbooks). The converter checks each cell's number format and turns date-formatted serials into ISO 8601 strings, which every programming language can parse.

Pasting cells instead of opening a file

When you copy a range in Excel, Google Sheets or Numbers, the clipboard holds tab-separated text. Paste it into the input pane and the tab delimiter is detected automatically. CSV and semicolon-separated exports work the same way. For pasted text, Detect numbers & booleans turns 42 and true into real JSON types, while values with leading zeros stay strings.

Common problems

  • Old .xls files use a binary format. Save them as .xlsx or CSV in Excel (File → Save As) first.
  • Merged cells only keep their value in the top-left cell; the others come through empty.
  • Duplicate column names are renamed name_2, name_3 so no data is overwritten.
  • Headers with dots such as address.city can become nested objects when you tick Rebuild nested objects.

Going the other way? Use JSON to Excel. For plain CSV files, CSV to JSON has extra parsing options.

Tools that pair well with the Excel to JSON

  • CSV & Excel to SQL — Paste CSV or Excel cells, or open an .xlsx file, and get ready-to-run CREATE TABLE and INSERT statements with correctly escaped values for your database.
  • Excel, CSV & JSON to JS Array — Paste spreadsheet rows or JSON and get a clean JavaScript array or object literal for your code, tests, mock data or config.
  • JSON to SQL — Paste a JSON array and get SQL that creates the table and inserts every object as a row — nested objects become columns or JSON values, and every string is escaped for your dialect.
  • SQL to JSON, CSV & Excel — Paste a SQL dump or a few INSERT statements and get the rows back as JSON, CSV or an Excel workbook with one sheet per table.

Frequently asked questions

Is my Excel file uploaded to a server?
No. The workbook is unzipped and read entirely in your browser with JavaScript, so confidential spreadsheets stay on your device.
Can I convert a specific sheet?
Yes. When a workbook has more than one sheet, a sheet menu appears next to the Open file button. Tick All sheets to get one JSON object with a key per sheet.
Why do my dates show up as numbers like 45306?
That happens when a date cell is formatted as a plain number in Excel. Format the column as a date in Excel, or convert the serial number yourself: it is the number of days since 30 December 1899.
Does it support .xls, .ods or Numbers files?
Only .xlsx (and macro-enabled .xlsm) can be opened directly. Save other formats as .xlsx or CSV first, or copy the cells and paste them in.
How do I convert Google Sheets to JSON?
Select the cells in Google Sheets, copy them and paste them into the input pane, or download the sheet with File → Download → Microsoft Excel (.xlsx) and open that file.

Related tools