Excel to JSON and JSON to Excel
Convert Excel or CSV to JSON and JSON to Excel or CSV, privately in your browser
Your files are processed in your browser. They are never uploaded, and nothing is stored after you close the page. How we handle privacy
Runs entirely in your browser. Nothing you type or upload is sent to us or stored.
Results are for general guidance. Please check anything important before relying on it. Terms of use
How to Use
- Choose Excel / CSV to JSON or JSON to Excel / CSV at the top.
- To make JSON, drop an .xlsx, .csv or .tsv file in the box, or copy cells in Excel or Google Sheets and paste them in the box below it (try a sample shows how it works). Pick the sheet if the workbook has more than one.
- Set the options: whether the first row has the column names, trimming spaces, turning number text into numbers, skipping empty rows, and array of objects or array of arrays. Check the preview of the first 50 rows.
- Use copy or download .json to take the result.
- To make a spreadsheet, paste a JSON array (or open a .json file), check the preview and click Download .xlsx, .csv or copy CSV.
Convert Excel to JSON and JSON to Excel in your browser
Developers, analysts and anyone who works with an API keep running into the same chore: a client sends an Excel sheet and the app needs JSON, or an API returns JSON and the accounts team wants it in Excel. This Excel to JSON converter does both directions. Your file is read by your own browser and never uploaded, so it is safe for customer lists, GST data or salary sheets.
Excel or CSV to JSON
Each row of the sheet becomes one item in a JSON array. With "First row has the column names" on, the headings become the keys:
Asha Patel, Ahmedabad, 380015
โ
[{ "name": "Asha Patel", "city": "Ahmedabad", "pin": 380015 }]
Choose "Array of arrays" if you want plain rows instead, for example to feed a charting library. Blank headings become column_1, column_2 and so on, and repeated headings get _2, _3 added so no data is lost.
A few details are handled the way most people expect:
- Numbers: text such as "42" or "3.75" becomes a number. Values with leading zeros ("007", "0612") and anything longer than 15 digits (such as 16-digit card numbers) stay as text, because JavaScript numbers can't hold more than about 15 digits exactly. Turn the option off if mobile numbers or IDs should stay as text too.
- Dates in Excel cells become "2026-10-17", or "2026-10-17T09:30:00" when they include a time.
- Formulas give their last calculated value, and hyperlinks give their text.
- Empty cells become null, and fully empty rows are skipped unless you turn that off.
- CSV files may use commas, semicolons, tabs or pipes; the tool detects which. Values in double quotes can hold commas, quotes ("") and line breaks.
JSON to Excel or CSV
Paste an array of objects and every key becomes a column, in the order it first appears. Objects that miss a key get an empty cell. Nested objects and arrays are written as JSON text in a single cell, so nothing is silently dropped. The tool also accepts an array of arrays (no header row), a single object, and the common API shape {"data": [...]}.
| Download | Best for | Notes |
|---|---|---|
| .xlsx | Excel, Google Sheets, sharing | Bold header row, frozen at the top; numbers stay numbers |
| .csv | Imports into accounting software, databases and other apps | UTF-8 with a BOM so Excel shows โน and Indian languages correctly |
Limits and tips
- Old .xls files can't be read. Open them in Excel or Google Sheets and save as .xlsx or CSV first.
- Password-protected workbooks need the password removed first.
- The first 1,00,000 rows of a sheet are read. Very large files can take a few seconds on a phone.
- Excel allows at most 32,767 characters in one cell. Longer values are cut in the .xlsx download but kept whole in the CSV.
- Check the preview before you download: codes with leading zeros should still show them.