Format conversion

Convert Excel to JSON

Upload your .xlsx, .xls or .csv file and download JSON that is ready to feed an API or a script.

Free, no usage limits Nothing written to disk .xlsx,.xls,.csv

Accepted formats: .xlsx,.xls,.csv

«Array of objects» is what almost any API expects. «Array of arrays» ships just the values and is considerably smaller.

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 true or false.
  • A date comes out as a YYYY-MM-DD string, 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.