Excel to JSON Converter (Free Tool)
Convert Excel spreadsheets to JSON arrays instantly. Transform XLSX/CSV data with automatic type inference for REST APIs, web applications, and databases. Each row becomes a JSON object with column headers as keys. Client-side processing ensures your data never leaves your browser.
Paste code in both editors to see differences
Hint: Paste original code on left, modified code on right, then click Compare to see differences highlighted.
Hint: Paste your code, customize font size and line numbers, then click Export PDF to download formatted code.
Hint: Paste your JWT token to decode and view its header, payload, and signature. The tool validates token structure and format.
Hint: Select conversion type, paste your data, and get instant conversion. Supports JSON, YAML, XML, Excel, PDF, and more.
How It Works
- 1
Upload Excel (.xlsx, .xls) or CSV File
Select your spreadsheet file from your computer. Supports Excel 2007+ formats, CSV, and files with multiple sheets. The converter reads standard Excel formats without requiring Microsoft Office.
- 2
AI Parses Structure and Infers Types
The tool treats the first row as column headers (JSON keys), reads subsequent rows as data, infers types automatically (numbers stay numbers, dates convert to ISO strings), and handles empty cells as null values.
- 3
Download JSON Array of Objects
Receive a JSON array where each element represents one spreadsheet row. Column names become object keys, making the data ready for REST API POST requests, MongoDB import, or JavaScript processing.
Excel vs JSON: Data Format Comparison
| Feature | Excel/CSV | JSON |
|---|---|---|
| Format | Binary spreadsheet (.xlsx) | Text-based JSON |
| Structure | Rows and columns | Array of objects |
| Headers | First row (optional) | Object keys |
| Data Types | Cell formats (number, text, date) | JSON types (number, string, boolean) |
| Use Case | Desktop analysis, reporting | APIs, web apps, databases |
| Formulas | Calculated cells | Static values only |
Code Examples
Example 1: Simple Spreadsheet to JSON Array
ID, Name, Email, Active
1, John Doe, [email protected], TRUE
2, Jane, [email protected], FALSE
3, Bob, [email protected], TRUE [
{
"ID": 1,
"Name": "John Doe",
"Email": "[email protected]",
"Active": true
},
{
"ID": 2,
"Name": "Jane",
"Email": "[email protected]",
"Active": false
},
{
"ID": 3,
"Name": "Bob",
"Email": "[email protected]",
"Active": true
}
] Key Changes:
Excel rows convert to JSON array elements. The first row (ID, Name, Email, Active) becomes object keys. Excel numbers (1, 2, 3) remain JSON numbers. Text cells become JSON strings. Excel TRUE/FALSE boolean values convert to JSON true/false. Each subsequent row becomes a complete JSON object. This structure is perfect for API payloads, MongoDB insertMany(), or JavaScript array methods like map() and filter().
Example 2: Date and Number Type Handling
ProductID, Price, InStock, LastUpdated
SKU001, 29.99, 150, 2024-01-15
SKU002, 49.50, 0, 2024-01-10
SKU003, 15.00, 75, 2024-01-20 [
{
"ProductID": "SKU001",
"Price": 29.99,
"InStock": 150,
"LastUpdated": "2024-01-15T00:00:00.000Z"
},
{
"ProductID": "SKU002",
"Price": 49.50,
"InStock": 0,
"LastUpdated": "2024-01-10T00:00:00.000Z"
},
{
"ProductID": "SKU003",
"Price": 15.00,
"InStock": 75,
"LastUpdated": "2024-01-20T00:00:00.000Z"
}
] Key Changes:
Type inference preserves data integrity. Excel decimal numbers (29.99, 49.50) remain JSON numbers with decimal precision. Integer values (150, 0, 75) stay as integers. Excel date formats convert to ISO 8601 date strings (2024-01-15T00:00:00.000Z) compatible with JavaScript Date constructors and database timestamp fields. Mixed column types (text ProductID, number Price) are handled correctly. The JSON output is immediately usable in REST API requests or can be validated against JSON Schema for additional type safety.
Frequently Asked Questions
Excel column headers become JSON keys. Data types are inferred: numbers remain numbers, dates convert to ISO 8601 strings, text becomes strings, and booleans (TRUE/FALSE) convert to true/false. Empty cells become null. The first row is treated as headers by default. Multiple sheets can generate separate JSON arrays or a single nested object with sheet names as keys.
No. All Excel to JSON conversion happens entirely client-side in your browser using JavaScript libraries like SheetJS. Your spreadsheet data—whether customer lists, financial records, or inventory—never leaves your machine. Files are processed in-browser memory and discarded after conversion.
Yes. The converter handles files up to several MB efficiently. For very large files (100K+ rows), processing may take a few seconds. Multiple sheets generate separate JSON arrays or can be combined into a single object. Complex Excel features like formulas, macros, and conditional formatting are ignored—only cell values are extracted.