Convert XLSX to JSON
Max file size 100mb.
XLSX vs JSON Format Comparison
| Aspect | XLSX (Source Format) | JSON (Target Format) |
|---|---|---|
| Format Overview |
XLSX
Microsoft Excel Spreadsheet
XLSX is the default Microsoft Excel format since 2007. Based on the Office Open XML (OOXML) standard (ISO/IEC 29500), it stores spreadsheet data in ZIP-compressed XML files. Supports multiple worksheets, formulas, charts, pivot tables, conditional formatting, and rich cell styling. Spreadsheet Office Open XML |
JSON
JavaScript Object Notation
Lightweight data interchange format based on a subset of JavaScript syntax. JSON supports structured data with objects (key-value pairs), arrays, strings, numbers, booleans, and null values. It is the dominant format for web APIs, configuration files, and data exchange in modern software development. Structured Data Web APIs |
| Technical Specifications |
Structure: ZIP/XML (Office Open XML)
Encoding: UTF-8 XML inside ZIP container Standard: ISO/IEC 29500 (OOXML) Max Size: 1,048,576 rows x 16,384 columns Extension: .xlsx |
Structure: Nested objects, arrays, and primitives
Standard: ECMA-404 / RFC 8259 Data Types: String, Number, Boolean, Null, Object, Array Encoding: UTF-8 (required by RFC) Extensions: .json |
| Syntax Examples |
XLSX stores data in structured worksheets: | Name | Age | City | |---------|-----|----------| | Alice | 30 | New York | | Bob | 25 | London | | Charlie | 35 | Tokyo | |
JSON uses objects in an array: [
{
"Name": "Alice",
"Age": 30,
"City": "New York"
},
{
"Name": "Bob",
"Age": 25,
"City": "London"
}
]
|
| Content Support |
|
|
| Advantages |
|
|
| Disadvantages |
|
|
| Common Uses |
|
|
| Best For |
|
|
| Version History |
Introduced: 2007 (Office 2007)
Standard: ISO/IEC 29500 (2008) Status: Active, industry standard MIME Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
Introduced: 2001 (Douglas Crockford)
ECMA Standard: ECMA-404 (2013) RFC Standard: RFC 8259 (2017) MIME Type: application/json |
| Software Support |
Microsoft Excel: Full native support
Google Sheets: Full import/export LibreOffice Calc: Full support Other: Python (openpyxl), Java (Apache POI), R |
JavaScript: Native JSON.parse/stringify
Python: json module (built-in) Databases: MongoDB, PostgreSQL, MySQL JSON type Other: Every modern language, jq CLI tool, all APIs |
Why Convert XLSX to JSON?
Converting XLSX Excel files to JSON is one of the most essential data transformations for modern software development. JSON is the standard format for web APIs, NoSQL databases, configuration files, and frontend applications. By converting your Excel spreadsheet data to JSON, you make it directly consumable by web services, JavaScript applications, MongoDB, Elasticsearch, and countless other tools that expect structured JSON input.
Unlike XLSX, which is a binary ZIP format requiring specialized libraries, JSON is a lightweight text format that can be read and processed by virtually any programming language. Our converter reads the Excel workbook, extracts data from the active worksheet, uses column headers as JSON object keys, and intelligently infers data types. Numeric cells become JSON numbers, empty cells become null, and text values are properly quoted strings.
Each spreadsheet row becomes a JSON object in an array, with column headers as keys. This structure maps naturally to database records, API payloads, and application data models. The converter handles Excel-specific features like date cells (converting them to ISO 8601 strings), formula results (exporting computed values), and special characters, producing valid JSON that passes strict validation.
XLSX to JSON conversion is critical for data engineers building ETL pipelines, developers creating API mock data from Excel reports, analysts importing spreadsheet data into NoSQL databases, and anyone who needs to bridge the gap between Excel-based workflows and modern web technologies. The resulting JSON can be used immediately with fetch/axios in JavaScript, requests in Python, or imported into MongoDB and other document databases.
Key Benefits of Converting XLSX to JSON:
- Typed Values: Numbers, booleans, and nulls are properly typed in the JSON output
- API-Ready: Output can be used directly as REST API payloads or mock data
- Formula Results: Excel formulas are evaluated and their computed values are exported
- Header Mapping: Excel column headers become JSON object keys automatically
- Database Import: Direct import into MongoDB, CouchDB, Elasticsearch, and others
- Formatted Output: Pretty-printed JSON with proper indentation for readability
- Universal Compatibility: JSON is supported natively by every modern programming language
Practical Examples
Example 1: Employee Data for HR API
Input XLSX file (employees.xlsx):
| id | name | email | age | active | |----|---------------|--------------------|-----|--------| | 1 | Alice Johnson | [email protected] | 30 | true | | 2 | Bob Smith | [email protected] | 25 | true | | 3 | Charlie Brown | [email protected]| 35 | false | | 4 | Diana Ross | [email protected] | 28 | true |
Output JSON file (employees.json):
[
{
"id": 1,
"name": "Alice Johnson",
"email": "[email protected]",
"age": 30,
"active": true
},
{
"id": 2,
"name": "Bob Smith",
"email": "[email protected]",
"age": 25,
"active": true
},
{
"id": 3,
"name": "Charlie Brown",
"email": "[email protected]",
"age": 35,
"active": false
},
{
"id": 4,
"name": "Diana Ross",
"email": "[email protected]",
"age": 28,
"active": true
}
]
Example 2: Product Catalog for E-Commerce
Input XLSX file (products.xlsx):
| sku | name | price | quantity | category | |---------|----------------|-------|----------|-------------| | WDG-001 | Wireless Mouse | 24.99 | 150 | Electronics | | WDG-002 | USB Keyboard | 34.99 | 75 | Electronics | | WDG-003 | Webcam HD | 49.99 | 0 | Electronics |
Output JSON file (products.json):
[
{
"sku": "WDG-001",
"name": "Wireless Mouse",
"price": 24.99,
"quantity": 150,
"category": "Electronics"
},
{
"sku": "WDG-002",
"name": "USB Keyboard",
"price": 34.99,
"quantity": 75,
"category": "Electronics"
},
{
"sku": "WDG-003",
"name": "Webcam HD",
"price": 49.99,
"quantity": 0,
"category": "Electronics"
}
]
Example 3: Sales Report Data
Input XLSX file (sales.xlsx):
| region | quarter | revenue | units | growth | |-----------|---------|----------|-------|--------| | North | Q1 2024 | 125000 | 500 | 12.5 | | South | Q1 2024 | 98000 | 390 | 8.3 | | East | Q1 2024 | 143000 | 620 | 15.1 |
Output JSON file (sales.json):
[
{
"region": "North",
"quarter": "Q1 2024",
"revenue": 125000,
"units": 500,
"growth": 12.5
},
{
"region": "South",
"quarter": "Q1 2024",
"revenue": 98000,
"units": 390,
"growth": 8.3
},
{
"region": "East",
"quarter": "Q1 2024",
"revenue": 143000,
"units": 620,
"growth": 15.1
}
]
Frequently Asked Questions (FAQ)
Q: What is XLSX format?
A: XLSX is the default file format for Microsoft Excel since 2007. It is based on the Office Open XML (OOXML) standard (ISO/IEC 29500) and stores spreadsheet data as ZIP-compressed XML files. XLSX supports multiple worksheets, formulas, charts, pivot tables, conditional formatting, and rich cell styling. Each worksheet can hold up to 1,048,576 rows and 16,384 columns.
Q: How are Excel data types handled in JSON?
A: The converter intelligently maps Excel data types to JSON types. Numeric cells become JSON numbers (integers or floats). Text cells become JSON strings. Empty cells become null. Boolean cells become true or false. Date cells are converted to ISO 8601 date strings. Formula cells export their computed values, not the formulas themselves.
Q: Will my Excel column headers become JSON keys?
A: Yes! The first row of your Excel worksheet is used as the header row, and column names become the keys in each JSON object. The output is an array of objects, where each object represents one spreadsheet row with header-based keys. Keys are preserved exactly as they appear in the Excel header row.
Q: Can I import the JSON output into MongoDB?
A: Yes! The generated JSON is a valid array of objects that can be directly imported into MongoDB using mongoimport or the MongoDB Compass GUI. Each JSON object becomes a MongoDB document. You can also use the JSON output with other NoSQL databases like CouchDB, Elasticsearch, or Firebase. The array format is compatible with bulk insert operations in most databases.
Q: What happens with multiple worksheets?
A: By default, the converter processes the first (active) worksheet in the XLSX file. If your workbook contains multiple sheets with data you need converted, ensure the desired sheet is set as the active sheet before uploading. Each row from the active sheet becomes a JSON object in the output array.
Q: Is the JSON output pretty-printed or minified?
A: The default output is pretty-printed with 2-space indentation for readability. This makes it easy to inspect, debug, and edit the JSON manually. If you need minified JSON for production use (smaller file size), you can minify it using any JSON tool, the jq command (jq -c), or JavaScript's JSON.stringify without the space parameter.
Q: How does the converter handle Excel formulas?
A: Excel formulas are evaluated and their computed results are exported to JSON. For example, if a cell contains =SUM(B2:B10) and the result is 1500, the JSON output will contain the number 1500. The formula text itself is not included in the JSON. This means you always get the final calculated values from your spreadsheet.
Q: How are empty cells and merged cells handled?
A: Empty Excel cells are converted to JSON null values, which is the proper way to represent missing data in JSON. Merged cells are treated as individual cells where only the top-left cell of the merged region contains the value, and other cells in the merged region are treated as empty (null). This ensures consistent and predictable JSON output.