
You have a spreadsheet, and a developer, an API, or an app that wants JSON. Search for a solution and you drown in Python and JavaScript tutorials — great if you code, useless if you just need the file converted right now. Here is the frustrating truth: Excel itself has no built-in "Save as JSON" option, even in 2026.
The good news is you do not need one. This guide shows how to convert any .xlsx or .xls file into a clean JSON array of objects in your browser using the free Toolyfied Excel to JSON converter, and how to sidestep the pitfalls — bad headers, merged cells, and multi-sheet workbooks — that produce mangled output.
How Excel to JSON Conversion Actually Works
The mapping is simpler than it sounds. Your first row becomes the property names (keys), and every row below it becomes one JSON object. A sheet with columns Name, Email, and Age and two data rows converts into an array of two objects, each with a name, email, and age property. That structure — an array of objects — is exactly what most APIs, JavaScript apps, and databases expect to receive.
This is why the single most important step happens before you convert anything: make row 1 a clean header row. Short, unique, machine-friendly names like first_name or unitPrice make far better JSON keys than "Customer's First Name (updated)". Everything else in the conversion is automatic.
Convert Excel to JSON Without Coding: Step by Step
Here is the full no-code workflow using the free online converter:
- Step 1 — Tidy your sheet: put column names in row 1, remove title rows and blank rows above the data, and unmerge any merged cells.
- Step 2 — Open the Excel to JSON converter and upload your .xlsx or .xls file (free, no sign-up, files up to 50 MB).
- Step 3 — Convert. The first row is treated as keys and every following row becomes an object in a JSON array.
- Step 4 — Download the .json file — no watermark, no account required.
- Step 5 — Optionally paste the output into the JSON formatter to pretty-print and validate it before handing it to a developer or an API.
Flat vs Nested JSON: Which One Do You Need?
A spreadsheet is inherently flat — rows and columns — so the natural output is flat JSON: one level of key-value pairs per object. For the vast majority of uses (importing into a database, feeding a chart library, sending records to an API), flat JSON is exactly right, and it is what a straightforward conversion produces.
Nested JSON — objects inside objects, like an address object containing street and city — cannot be inferred from a flat grid automatically; the structure has to be encoded somewhere. The common convention is path-style headers: name a column address.city or address/city and a nesting-aware tool can fold those columns into a sub-object. If your target system demands deeply nested JSON, convert to flat JSON first, then restructure — trying to fake nesting inside Excel with merged cells only breaks the header-to-key mapping.
Going the other direction later? The JSON to Excel converter flattens JSON back into spreadsheet rows, so you can round-trip data between analysts and developers.
Multi-Sheet Workbooks, Merged Cells, and Other Pitfalls
Multiple sheets: JSON has no concept of "sheets," so a workbook with five tabs is really five datasets. The cleanest approach is one conversion per sheet — move each tab you need into position (or save it as its own file) and convert them individually. That gives you separate, predictable JSON files instead of one ambiguous blob.
Merged cells are the silent killer. A merged header spanning three columns means two of those columns have no name, and merged data cells leave empty values in every row but the first. Always unmerge (Home, then Merge & Center to toggle off) and fill in real values before converting.
Watch data types too. Excel loves reformatting things: ZIP codes lose leading zeros when stored as numbers, and dates may export as serial numbers or locale-dependent strings. Format identifier-style columns (phone numbers, ZIP codes, product codes) as Text in Excel before converting, and standardize dates to ISO format (2026-04-08) so every downstream system parses them the same way.



