toolkitta.

Convert Excel to JSON

Open an Excel .xlsx file and turn any sheet into JSON in your browser. Headers become keys, numbers and dates are typed, and nothing is uploaded.

EXCEL → JSONPaste your data or open a file, then review the result.

CSV to JSON

Your data is never uploaded
Paste CSV, drop a .csv or Excel file, or open oneOr start from an example:
Waiting for CSV
Options

JSON

The JSON appears here as you paste CSV or open a .csv, .tsv or Excel file.

Ctrl+F search · Ctrl+↵ copy result · Ctrl+Shift+F result to input · Esc then Tab leaves the editor

For this conversion

Convert Excel to JSON: what to know

Product lists, price tables and survey results are often kept in Excel, while the app, website or script that needs them expects JSON. Open the .xlsx file above, choose the sheet, and the JSON appears as you watch. The first row becomes the keys, each following row becomes an object, and numbers, true/false values and dates are written in the form JSON programs expect. The workbook is read in your browser; it is not uploaded.

Detailed guide

How the workbook is read

Toolkitta reads the values stored in each cell: text, numbers, TRUE and FALSE, and the results of formulas as Excel last saved them. Cells formatted as dates or times become ISO dates such as 2026-09-26 or 2026-09-26T14:30:00. Formatting, colours, comments, charts and merged-cell layout are ignored, and formulas themselves are not recalculated.

The chosen sheet is shown as CSV in the editor so you can see exactly what is being converted and fix a header or a cell before copying the JSON. Another sheet can be picked at any time while the workbook is open. Old .xls files (Excel 97–2003) are not supported; save them as .xlsx first.

Choosing how values are written

With Detect numbers and true/false on, 42 and 3.5 become numbers and TRUE becomes true. Values that would change as numbers stay text: codes with leading zeros like 01234, and digit strings longer than 15 significant digits, such as order and account numbers. Empty cells can become empty text, null, or be left out of the object.

Headers with dots rebuild nested objects: address.city and address.zip become one address object, and tags.0 and tags.1 become a tags list. Turn this off to keep the dotted names as plain keys. If the first row is data rather than headers, turn off First row is headers to get keys named column1, column2 and so on, or choose Arrays to get one list per row.

Questions about Excel to JSON

Is the Excel file uploaded?
No. The workbook is unpacked and read in your browser, and the JSON is built on your device.
Why is a date a number in my JSON?
Excel stores dates as numbers and only the cell’s format says it is a date. Cells with a date format become ISO dates; a date typed into a cell formatted as General or Number stays a number. Change the column’s format to a date in Excel and save again.
Can I convert CSV exported from Excel instead?
Yes. Open or paste the CSV; the delimiter, including the semicolon many European versions of Excel use, is detected automatically.
Is there a size limit?
Excel files up to 20 MB and text up to 10 MB can be opened. Very large sheets take a few seconds to convert.
How it works

How to convert CSV to JSON

  1. Paste CSV, or open a .csv, .tsv or Excel .xlsx file. For a workbook, pick the sheet.
  2. The separator is detected. Check the options: header row, number detection, nested objects and what empty cells become.
  3. Copy or download the JSON, or send it to JSON Formatter or another tool.
Frequently asked questions

Useful details

4 answers
Is my file uploaded?

No. CSV and Excel files are read in your browser, and the JSON is made on your device.

What if a value contains a comma or a line break?

Put it in double quotes, as spreadsheet apps do when they save CSV: "Turing, Alan". Quotes inside a quoted value are written twice ("").

How do I get nested JSON?

Name the columns with dots, such as address.city and address.zip, and keep Dotted headers make nested objects ticked. Numbered parts such as tags.0 and tags.1 become a list.

Why does it say some rows have a different number of cells?

Those rows have more or fewer values than the header row, often because of an unquoted comma inside a value. Missing cells are treated as empty and extra cells get keys like column5.

More help

Guides, common conversions and useful next steps.

Continue with your result

Use the action beside a finished result to send it directly, or open another tool: