Excel to JSON
Convert sheets into arrays of objects.
About Excel to JSON
Turn a worksheet into JSON — an array of objects keyed by the header row, or an array of arrays. Choose between the two shapes and between compact and pretty-printed output. Keys are the header text exactly as written, and blank cells become null.
JSON is what applications and APIs consume, and spreadsheets are where the data usually starts. This is the bridge.
An array of objects keyed by the header row, or an array of arrays.
- Processed on your deviceEverything you open or type here is handled by this page and never uploaded anywhere.
- No queue, no limitsNothing waits on a server, so the only limit is your own hardware.
- No account neededNo sign-up and no email address required.
How Excel to JSON works in your browser
SheetJS parses the workbook and the chosen sheet is walked row by row. In object mode the header row becomes the keys and each subsequent row becomes one object; in array mode you get the raw grid with no key mapping at all.
Types are carried across rather than flattened to strings. A numeric cell becomes a JSON number, a boolean becomes a boolean, and an empty cell becomes null rather than an empty string — which matters, because a consumer that treats "" and null the same way usually has a bug waiting.
Dates are the case to watch. A spreadsheet stores a date as a number with a display format attached, so a converter has to decide whether to emit the number, the rendered text or an ISO timestamp. Check the first few rows of the output against the sheet before wiring it into anything.
When to use it
Turning a spreadsheet a colleague maintains into seed data for an application. Preparing a fixture file for tests from a real dataset. Feeding a list into an API that expects JSON. Converting a workbook of customer or employee records without uploading it to a converter.
Frequently asked questions
What shape is the JSON?
Either an array of objects keyed by your header row, or an array of arrays when you want raw rows without keys. Both are offered because APIs and scripts want different things.
Can I control the key names?
Not here. Keys are the header cells exactly as written, so "First Name" stays "First Name". Rename the headers in the sheet first if you want firstName.
What happens to empty cells?
The key is kept with a null value, so every object has the same set of keys. There is no option to omit empty keys.