Convert Excel or CSV to JSON

Turn a spreadsheet into JSON that your code, API or no-code tool can read. Each row becomes an object keyed by the column headers, or an array of arrays if you prefer.

Private by design: your file never leaves your device. This tool runs 100% in your browser, with no uploads.

Loading the tool...

How to use the Excel to JSON tool

  1. Choose an .xlsx, .csv or .tsv file. A preview of the first rows appears.
  2. Pick the sheet if the workbook has several.
  3. Keep First row contains column names ticked for an array of objects, and choose pretty-printed or compact output.
  4. Press Convert, check the start of the JSON and download the .json file.

Worked example: a staff list with three people

staff.xlsx has a header row with Name, Age and City, and 3 people below it. The third person has no city.

  • The result reads 3 records converted.
  • The first object is {"Name": "Ann", "Age": 34, "City": "Leeds"}. Age is the number 34, not the text "34".
  • The empty city becomes null, so every object has the same three keys.

The download is named staff.json. If you untick the header option, you get an array of 4 arrays, the first one holding the column names.

How headers become keys

Every cell in the first row becomes a key, with spaces at the ends trimmed. A blank header becomes column_1, column_2 and so on, based on its position, and a repeated header gets a suffix such as Email_2 so no value is lost. Rows are written in sheet order, and empty rows and columns at the end of the sheet are dropped. Dates are written as text in year-month-day form, such as 2026-10-24, and formulas as their last calculated value.

Pretty or compact output

Pretty-printed JSON is indented with two spaces, which is easy to read and diff in version control. Compact JSON has no extra spaces, which keeps the file small for uploads and APIs. Both contain the same data. For very large sheets the preview shows only the start of the file, but the download always holds every row. If you need nested objects, convert here first and reshape the result in your code; the tool keeps a flat structure that matches the sheet.

Your files stay on your device

Your spreadsheet is read and turned into JSON by code running in your browser, in a background worker. The JSON exists only in your device memory until you download it. Nothing is uploaded, which matters when the sheet holds customer or employee data.

Frequently asked questions

What happens to empty cells?

They become null, so every object has the same keys.

Are numbers written as numbers?

Yes. Numeric cells become JSON numbers and true or false cells become booleans. Text stays text.

Can I get an array of arrays instead of objects?

Yes. Untick First row contains column names and each row, including the first, becomes an array.

Which sheet is converted?

The one you pick in the Sheet menu. Convert again to export another sheet.

Can I convert a CSV file?

Yes. CSV and TSV files are read with automatic delimiter detection and treated as a single sheet.