Excel to JSON Converter

Drop in an Excel file, get JSON back. Runs entirely in your browser -- your spreadsheet never leaves your device.

100% Free
Privacy-First
Instant Conversion

Excel File Input

Drop your Excel file here

or click to browse files

.xlsx.xls

JSON Output

JSON output will appear here

Upload an Excel file on the left

Getting Spreadsheet Data Into Your Code

From Spreadsheet to Web App

Someone sends you an Excel file. You need that data in your web app, your API, or your database. Step one is getting it into JSON. That's what this tool does -- upload the file and get clean JSON you can drop straight into your code. No need to write a parser or install a library. If you need to go the other way, there's the JSON to Excel converter.

Pick the Output Format You Need

Array of Objects mode gives you [{column1: value, column2: value}] -- ready for API endpoints, database inserts, or React state. Array of Arrays mode gives you the raw grid -- useful when you're processing headers separately or feeding data into a charting library.

Your Data Stays on Your Machine

The SheetJS library parses the Excel file locally in your browser. No upload, no server processing. If you're working with internal company data, customer lists, or financial reports, that matters. For Markdown output instead of JSON, check out the Excel to Markdown converter.

Common Use Cases

Loading Data Into a Web App

Your client gave you a product catalog in Excel. You need it in your React app. Convert to JSON here, drop it into your project as a .json file or paste it into your database seed script. Way faster than writing a custom importer.

Database Seeding

Need to populate a MongoDB collection or seed a PostgreSQL table? Convert the Excel file to JSON, then feed it into your migration script or mongo import command. The Array of Objects format maps directly to document database entries.

Making Test Fixtures

QA maintains test cases in a spreadsheet. Convert that to JSON and you've got test fixtures your test framework can read directly. Update the spreadsheet, re-convert, and your tests stay in sync with the test plan.

Building Translation Files

Translators work in spreadsheets. Your app needs JSON. Convert the translations spreadsheet to JSON, restructure the keys in your code, and you've got an i18n file. Update it any time a new batch of translations comes in.

Frequently Asked Questions

You upload an Excel file (.xlsx or .xls), and the tool reads it and gives you JSON. It pulls the data from the first sheet, turns column headers into JSON keys, and each row becomes an object. You can also switch to array-of-arrays mode if you want raw row data instead. The whole thing runs in your browser -- nothing gets uploaded to a server.
Array of Objects gives you [{"column1": "value", "column2": "value"}] -- each row is an object keyed by the column headers. This is the format most APIs and web apps expect. Array of Arrays gives you [["header1","header2"],["val1","val2"]] -- the raw grid, headers included as the first array. Use this when you're processing the data in a script and want full control over how headers are handled.
Drag your Excel file onto the drop zone, or click to browse for it. Pick your output mode (Objects or Arrays). The JSON shows up instantly on the right. Then Copy or Download to grab it. That's the whole process.
Right now, the tool reads just the first sheet. That covers most use cases since people usually have their data on Sheet1. If your data is on a different sheet, the quickest workaround is to move it to the first position in your workbook before uploading.
Yes, both. It uses the SheetJS library under the hood, which handles modern .xlsx files (Excel 2007 and later) and the older .xls format (Excel 97-2003). Either format works in any modern browser.
Totally. SheetJS reads the file in your browser. The spreadsheet never leaves your computer, and nothing is sent to any server. I added this tool because I needed to convert internal company spreadsheets to JSON for a data migration, and I wasn't about to upload those to some random website.
The converter grabs the calculated result, not the formula itself. So if cell B5 has =SUM(B1:B4) and the result is 250, you'll see 250 in the JSON. That's usually what you want -- the actual values, not the formulas.
Empty cells become empty strings in the JSON output. In Array of Objects mode, every object still gets all the keys -- they just have "" as the value for any blanks. This keeps the structure consistent, which matters when you're programmatically processing the data.
Nope. Free, no sign-up, no limits. We've also got JSON to Excel (the reverse), Excel to Markdown, JSON to Markdown, and Markdown to Excel.