Excel ⇄ JSON Converter

Convert a JSON array of objects to a downloadable .xlsx file, or upload an Excel/CSV file and get a JSON array back.

Drop a .xlsx, .xls or .csv file here, or click to browseFirst row is used as column headers

Drop in an .xlsx, .xls or .csv file and get a JSON array of objects back — one object per row, column headers become keys, and a sheet picker handles multi-sheet workbooks. Everything happens locally in your browser.

  • .xlsx, legacy .xls, and .csv all supported through the same reader
  • First row becomes the object keys automatically
  • Multi-sheet workbooks — pick which sheet to convert
  • Empty cells become null, so every row has the same keys
  • 100% private — the file never leaves your device

Why convert Excel to JSON?

A spreadsheet someone hands you — a product catalog, a list of users to seed, a config someone maintains in Excel because it's easier to edit — usually needs to become JSON before it's useful in code: an API fixture, a database seed script, a config file. This tool uploads the file locally, reads the first sheet (or one you pick), and turns every row into a JSON object keyed by the header row.

text
name          | price | inStock
MacBook Pro   | 2499  | true

becomes:

json
[
  { "name": "MacBook Pro", "price": 2499, "inStock": true }
]

Multi-Sheet Workbooks

If the uploaded file has more than one sheet, a sheet selector appears so you can pick which one to convert — each sheet is converted independently, since a JSON array can only represent one flat table at a time. Column headers become object keys directly; an empty cell becomes null rather than being silently omitted, so every row in the output has the same set of keys.

Common Use Cases

  • Database seed scriptsConvert a spreadsheet of sample data into a JSON array ready for a seed script or fixture file
  • API test fixturesTurn a QA-maintained spreadsheet of test cases into JSON payloads for automated API tests
  • Config migrationMove a config someone maintains in Excel into a JSON config file your application actually reads
  • One-off data importsImport a client's product list or user list, handed over as a spreadsheet, straight into JSON without writing a parser

Frequently Asked Questions

Excel .xlsx and legacy .xls, plus .csv. All three are parsed with the same underlying reader, so the JSON output format is identical regardless of which one you upload.

An empty cell becomes null in the JSON output rather than being omitted, so every object in the resulting array has the same keys — useful when the JSON is going straight into a typed language or a strict schema.

A sheet selector appears after upload — pick any sheet and it converts independently. Only one sheet's data is included in the JSON output at a time.

There's no hard limit enforced by the tool, but very large workbooks (tens of thousands of rows) are parsed entirely in your browser's memory, so performance depends on your device.

No — parsing happens entirely in your browser using JavaScript. The file never leaves your device.

Numeric cells convert to JSON numbers and boolean-looking cells (TRUE/FALSE) convert to JSON booleans, not strings. Excel date cells are read using the file's own date formatting — if a date column looks wrong, check that the source column is actually formatted as a date in Excel, not stored as plain text.

Yes — switch to "JSON → Excel" mode above, or use the dedicated JSON to Excel page, to convert an edited JSON array back into a downloadable .xlsx file.

Related Tools