Excel to JSON Converter

Convert an Excel file to JSON in seconds: drop in an xlsx or xls workbook and get an array of objects, one per row, with keys taken from your header row. Pick the sheet, check the preview, and copy or download.

An Excel to JSON converter turns a sheet into an array of row objects, the shape most APIs and apps expect. Drop in an XLSX or XLS workbook, pick a sheet, and each row becomes an object keyed by your header row, so it works to convert XLSX to JSON or export a spreadsheet for code. A sheet with Name and Email columns becomes objects like {"Name": "Jane", "Email": "[email protected]"}. Everything runs in your browser with nothing uploaded.

Read the guide: How to Convert Excel to JSON
Open a workbook to begin
Drag an Excel file here, or

Everything runs on your device. Files never leave your browser.

How it works

  1. 1

    Open a workbook

    Drop in an XLSX or XLS file and choose the sheet you want.

  2. 2

    Set the header row

    Confirm the first row holds your column names, which become the keys in each object.

  3. 3

    Copy or download JSON

    Get a tidy array of row objects, ready for an API request, a config file or an app.

Instant & 100% private — nothing is uploaded

Everything runs locally in your browser. Your files are processed on your own device and are never sent to a server, so there are no upload waits, no size limits from us, and nothing is ever stored or logged.

Frequently asked questions

How do I convert Excel to JSON?
Drop your workbook onto this page, choose the sheet you want, and the tool exports it straight to JSON as an array of row objects keyed by your header row. Copy the result or download it as a .json file. Nothing is uploaded, so the conversion happens entirely on your device.
Does it work with .xls and .xlsx?
Yes. You can convert both modern .xlsx files and older .xls files to JSON the same way, and a workbook with several sheets lets you pick which sheet to export.
What does the JSON look like?
It is an array of objects, one object per data row. Each object uses your header-row cells as keys, so a sheet with Name and Email columns becomes objects like {"Name": "Jane", "Email": "[email protected]"}. That is the shape most APIs and apps expect.
What happens to empty cells?
An empty cell becomes an empty string or is left out, so the structure stays consistent across rows. Numbers stay numbers and text stays text, which means you can use the result without re-parsing every field.
Can I use the first row as data instead of headers?
Yes. If your sheet has no header row, you can switch to a mode that keys each value by its column letter or position instead, so no row is lost.