Convert Excel (XLSX) to JSON

Drop an Excel (.xlsx) file and download it as JSON. Every sheet in the workbook becomes its own array of records; nothing is sent anywhere.

Convert Excel (XLSX) to JSON

Drop your Excel file here

Up to 20MB per file. Stays on this device.

Nothing is sent anywhere. Turn off your Wi-Fi and this page still works - try it.

How it works

  1. Drop or choose an .xlsx file.
  2. Review the preview of each sheet and toggle whether its first row is a header, if the guess looks wrong.
  3. Download the JSON for one sheet, or all sheets at once as a single file keyed by sheet name.
Example output

Input

ProductQtyIn Stock
Widget12true
Gadget5false

Output

[
  {
    "Product": "Widget",
    "Qty": 12,
    "In Stock": true
  },
  {
    "Product": "Gadget",
    "Qty": 5,
    "In Stock": false
  }
]

Numbers and booleans stay real JSON types (12, true), not the text "12" or "true" a CSV would give you.

Frequently asked questions

Is my spreadsheet sent anywhere?

No. The file is read and converted entirely on your device - nothing is sent to a server. Turn off your Wi-Fi after the page loads and it still works. This page loads 11KB of JavaScript, gzipped - about what your browser's network tab will show for this page's own scripts.

What does a converted sheet look like?

By default, the first row becomes each record's field names and every row after it becomes one JSON object, the same shape json-to-csv's output has in reverse. If a sheet's first row isn't really a header, turn the toggle off and every column instead gets a name like column_1, column_2.

Does it keep numbers and dates as their real types, or turn everything into text?

Real types. A numeric cell becomes a JSON number, a checkbox/boolean cell becomes true/false, and a date cell becomes an ISO 8601 date string (e.g. 2026-08-15T00:00:00.000Z) rather than whatever display format Excel happened to show.

What about formulas and merged cells?

A formula cell exports its last-calculated result, not the formula text itself - open the file in Excel first if you need it recalculated. A merged cell's value is only present in its top-left cell; the other cells the merge covers export as empty, matching how the file stores them.

Does this handle every sheet in the workbook?

Yes. Every visible sheet converts, each into its own array of records; hidden sheets are skipped. With more than one sheet, you can download each one separately or all of them together as one JSON file, keyed by sheet name.

Is there a file size limit?

Files up to 20MB. A compressed .xlsx unpacks into much more verbose XML in memory, so a very large workbook can be slow or use a lot of memory in the tab; this cap keeps that from freezing your browser.

Files are processed locally in your browser and never uploaded. Read more on the privacy page.