Convert Excel (.xlsx, .xls) and CSV files to JSON in your browser — array-of-objects or 2D-array output, multi-sheet workbooks, numbers and dates typed correctly. Free and private.
Objects or 2D-Array Output Multi-Sheet Workbook Support Typed Numbers & ISO-8601 Dates XLSX, XLS & CSV Input
Last updated
Excel to JSON Converter is a free, browser-based tool
from UseToolSuite's
Document & PDF Tools collection.
All processing happens locally on your device — your data is never uploaded to any server.
Use the tool below, then scroll down for detailed documentation, frequently asked questions, and related resources.
Advertisement
Drop an Excel file (.xlsx, .xls) or .csv here
Converted to JSON in your browser — nothing is uploaded.
100% Private No Upload
Reading spreadsheet…
Excel to JSON — For APIs, Configs, and Scripts
The Excel to JSON Converter reads a real .xlsx, .xls, or .csv file and returns structured JSON — the format every API, database seeder, and JavaScript app actually consumes. Because the parsing runs entirely in your browser, the spreadsheet (and whatever customer or financial data it holds) is never sent to a server.
Objects or arrays — you decide the shape
Choose Array of objects to turn each row into a keyed record (using the header row as field names) — ideal for feeding an API or a database. Choose 2D array to keep the raw grid of values when column order matters more than names. Numbers stay numbers and dates become ISO strings, so the JSON is ready to use without a cleanup pass.
Multi-sheet workbooks in one pass
Enable All sheets and the output becomes a single JSON object keyed by sheet name — no need to export tabs one at a time. To reverse the process, JSON to Excel rebuilds a spreadsheet from JSON, and JSON ⇄ CSV handles the flat-file case.
The reason spreadsheets and JSON keep meeting
Data is born in spreadsheets and consumed by code. A colleague maintains a product list, a pricing table, or a translation sheet in Excel because that is where humans are comfortable — and then a developer needs those same rows as JSON to seed a database, populate a dropdown, or drive an import. That hand-off happens constantly, and doing it by copy-paste is slow and error-prone. A converter that reads the real file and hands back typed JSON removes the friction without asking anyone to change how they work.
Why “typed” is the feature that matters
Plenty of converters will happily turn your sheet into JSON where every value is a string: "quantity": "12", "active": "TRUE", "joined": "45123". Now every consumer has to guess and re-parse. This tool preserves types at the source — numbers stay numbers, booleans stay booleans, and a date cell becomes a proper ISO-8601 string (2026-07-08T00:00:00.000Z) instead of Excel’s internal serial number. The difference is a JSON file you can feed straight into code versus one that needs a cleanup pass first.
The one thing to watch is Excel’s own type guessing before the file reaches the converter — a product code like 00212 stored as a number loses its leading zeros inside Excel itself. If those identifiers matter, format the column as Text in the spreadsheet before exporting, and they will survive as strings.
Round-tripping with the rest of the toolkit
Excel to JSON is one half of a pair. When you need to go back the other way — turning an API response or a config file into a spreadsheet a non-developer can open — JSON to Excel rebuilds a real .xlsx, splitting an object-of-arrays into separate tabs. For flat data that never needs multiple sheets, JSON ⇄ CSV is lighter, and the CSV Viewer & Editor is the fastest way to eyeball the parsed grid before you trust it.
How to Use This Tool
1
Drop your spreadsheet
Select an .xlsx, .xls, or .csv file. It is read entirely in your browser — no upload, no account.
2
Shape the output
Choose array-of-objects (keyed by the header row) or a raw 2D array, pick a sheet or export all sheets at once, and toggle pretty printing.
3
Copy or download
The JSON updates instantly as you change options. Copy it to the clipboard or download a .json file.
How helpful was this tool?
Click to rate
Awesome! Glad it helped.
We don't have a marketing budget. The best way to support this free tool is by sharing it with other developers!
Help us improve!
Sorry it didn't meet your expectations. We're always looking to make these tools better. What was missing or broken?
Essential terms and definitions related to Excel to JSON Converter.
Array of objects
A JSON array where each element is a key/value record, e.g. [{"id":1,"name":"Ada"}]. The dominant shape for tabular data in APIs and apps because each field is self-describing by name.
ISO-8601 date
The international standard date format (2026-07-08T00:00:00.000Z) that sorts correctly as text and parses in every language. The converter emits Excel dates this way instead of as opaque serial numbers.
Header row
The first row of a sheet holding column names. When used as headers, those names become the JSON object keys — which is why a clean, unique header row produces the cleanest JSON.
Frequently Asked Questions
What is the difference between the "array of objects" and "2D array" output?
Array of objects turns each row into a record whose keys come from the header row — [{"name":"Ada","role":"Engineer"}, …] — which is what an API, database seeder, or JavaScript app usually wants. A 2D array preserves the sheet as a grid of raw values — [["name","role"],["Ada","Engineer"], …] — which is better when column order matters more than names or the sheet has no clean header row. You can switch between them without re-loading the file.
Are numbers and dates kept as real types or turned into strings?
Numbers stay numbers, booleans stay booleans, and Excel date cells are emitted as ISO-8601 strings (2026-07-08T00:00:00.000Z) rather than Excel's internal serial numbers like 45123. That means the JSON is ready to consume directly — no post-processing to re-parse "12345" back into an integer or decode a date serial.
Can I convert every sheet in one go?
Yes. Enable "All sheets" and the output becomes a single JSON object keyed by sheet name — {"Customers":[…],"Orders":[…]} — so a multi-tab workbook exports in one pass instead of one sheet at a time, which is exactly the workflow paywalled converters tend to charge for.
Should I use array-of-objects or a 2D array for my API?
For almost any API or app, array-of-objects wins: each record carries its field names, so downstream code reads row.email instead of row[3] and does not break when a column moves. Reach for the 2D array only when column order is the contract — feeding a charting library that expects [label, value] pairs, or preserving a sheet that has no meaningful header row. When in doubt, array-of-objects is the safer default and the one this tool selects for you.
Does the conversion handle large spreadsheets?
Yes — parsing runs on your own machine, so there is no upload wait and no server-side row cap. A workbook with tens of thousands of rows converts in a moment; the main cost is the browser holding the resulting JSON string in memory to display it. If you are working with a genuinely massive export and only need certain sheets, convert one sheet at a time rather than enabling All Sheets, which keeps memory use lower.
Troubleshooting & Technical Tips
Common errors developers encounter and how to resolve them.
My JSON keys are "A", "B", "C" instead of the column names
The first row of the sheet is not being used as the header. Turn on "First row is header" (it is on by default) with the array-of-objects shape selected, and the header cells become the JSON keys. If your sheet genuinely has no header row, the A/B/C keys are the correct fallback.
Empty cells are missing from some objects
By default this tool writes blank cells as null so every record has the same keys — important for consistent downstream code. If you instead see keys dropping out, the source cell is truly empty and being represented as null; check the 2D-array view to confirm which cells the spreadsheet actually contains data in.
We use cookies to show personalized ads via Google AdSense.
All our tools process data locally in your browser — no personal data is collected.
You can accept personalized ads or continue with general ads only.
Privacy Policy