Convert Excel to JSON
Upload your .xlsx, .xls or .csv file and download JSON that is ready to feed an API or a script.
JSON with types, not everything in quotes
The usual conversion — copy the table and wrap every cell in quotes — produces
JSON where 1500 is the string "1500" and true is the string "true".
Whoever consumes it has to convert it back, and a formatting mistake in one
forgotten row only shows up much later.
Here every cell is emitted with the type it had in the sheet:
- A number comes out as a JSON number, unquoted and without thousands separators.
- A boolean comes out as
trueorfalse. - A date comes out as a
YYYY-MM-DDstring, which any ISO 8601 parser understands. - An empty cell comes out as
null. - Everything else comes out as a string.
Objects or arrays
The shape option decides the structure of the result:
- Objects produces an array of objects, one per row, using the first row's
titles as property names. This is the natural choice for feeding an API or a
map()in JavaScript. - Arrays produces an array of arrays: each row is a list of values in column order. It is considerably smaller and works when the consumer already knows what each position means.
Titles are used verbatim, with no renaming or normalising. If two columns share a name, the JSON will contain two properties with the same name and most readers will keep only the last one, so it is worth checking the header row first.
Indentation, empty cells and accents
Pretty print is on by default and indents the JSON so you can read and review it. Turn it off and everything comes out on one line, which is what you want when the file goes straight to a service and size matters.
Skip empty values omits blank cells entirely instead of writing them as
null. It only applies to the "objects" shape: in the "arrays" shape positions
cannot be skipped without shifting the columns.
Accented characters are written directly rather than as ó escapes, and
the file is downloaded as UTF-8 with a BOM. Both forms are valid JSON, but this
one can be read without decoding it.
Frequently asked questions
Does it convert every sheet in the workbook?
No: the first sheet is converted. JSON covering several sheets would force an invented wrapper structure that almost no consumer expects. If you need several, convert them one at a time.
What happens to formulas?
The computed value is exported — what you see on screen. JSON has no way of representing a formula.
What if a row has fewer cells than there are columns?
The missing ones are filled with null, both as properties in the "objects"
shape and as positions in the "arrays" shape. Every row ends up with the same
number of fields.
How are decimal numbers written?
With a dot decimal separator and no regional notation, as the JSON
specification requires. A sheet value of 1.234,56 is emitted as 1234.56.
Can I convert a CSV instead of an Excel file?
Yes. The tool accepts .xlsx, .xls and .csv. For the other direction there
is Excel to CSV, and if you need a different
interchange format, see Excel to XML.