Convert Excel to JSON
Turn spreadsheet rows into JSON for apps and APIs.
Processed in your browser. Nothing is uploaded.
How to convert Excel to JSON
- 1
Choose an Excel, ODS or CSV file.
- 2
Pick the sheet and whether the first row holds column names.
- 3
Tap “Convert to JSON”, then copy or download it.
Spreadsheet data for developers
Spreadsheets are where data starts: product lists, price tables, contacts, quiz questions, translations. Apps, websites and APIs need it as JSON. This tool turns a sheet into clean JSON in one step, without writing a script.
Also converts CSV to JSON, turning any spreadsheet to JSON.
Two shapes of output
With First row is headers switched on, each row becomes an object with keys from the header row:
[{ "Name": "Asha", "City": "Pune", "Orders": 3 }]
Switched off, each row becomes an array, which suits sheets without headers or code that reads columns by position:
[["Asha", "Pune", 3]]
Types are kept
Numbers stay numbers, TRUE and FALSE become booleans, empty cells become null, and dates are written as ISO strings such as “2026-10-07”, the format every programming language understands. Formulas are replaced by their calculated values. Duplicate header names are numbered (Name, Name_2) so no column is overwritten.
Pretty or compact
Pretty print adds indentation for reading and code reviews. Switch it off for the smallest file when the JSON goes straight into an app.
Works with CSV too
Choose a CSV or ODS file instead of Excel and the same rules apply. The data is converted on your device, so customer and business data never leaves your computer. To turn JSON back into a spreadsheet, use JSON to Excel.
Frequently asked questions
What does the JSON look like?
With “First row is headers” on, you get a list of objects, one per row, with keys from the header row. Switched off, you get a list of arrays, one per row.
How are numbers and dates handled?
Numbers stay JSON numbers, TRUE/FALSE become booleans, empty cells become null, and dates become ISO strings like "2026-10-07".
What if two columns have the same header?
Duplicates get a number added (Name, Name_2) so no data is overwritten. Blank headers become column1, column2 and so on.
Is my data sent anywhere?
No. The conversion runs in your browser, which makes it safe for customer lists and other private data.