Excel to JSON & XLSX Converter

Excel to JSON & XLSX Converter

Convert Excel to JSON instantly in your browser. Parse XLSX, XLS, and CSV files into clean JSON objects, nested trees, or column arrays with zero server upload.

Lbl quick presets
Lbl pipeline title
4.0 KB Unit in→502.0 B Unit out-88%
1Step ingest4.0 KBBadge zero upload2Step matrix4×7 Unit cells1 Unit sheets3Step coerceUS Unit regimeTxt nested on4Step serialize502.0 B3 Unit records
Lbl source inputecommerce_catalog.xlsx
Lbl active sheetInventory (4×7)
Lbl mode activearrayOfObjects
Lbl payload payload502.0 B

Title spreadsheet input

Lbl dropzone titleLbl dropzone sub
Lbl worksheet tabs
Lbl scope

Lbl output structure

Lbl locale and sanitation

US
Lbl key casing
Lbl empty cell resolution
Stat total records3
Stat detected fields7
Stat payload size502.0 B
Stat speed< 3 Unit ms
Lbl indent
[
  {
    "sku": "004128",
    "product": {
      "title": "Aerodynamic Road Helmet",
      "category": "Cycling"
    },
    "pricing": {
      "retail": 129.99,
      "sale": 99.99
    },
    "inventory": {
      "stock": 42,
      "inStock": true
    }
  },
  {
    "sku": "004129",
    "product": {
      "title": "Carbon Fiber Bottle Cage",
      "category": "Accessories"
    },
    "pricing": {
      "retail": 34.5,
      "sale": 34.5
    },
    "inventory": {
      "stock": 115,
      "inStock": true
    }
  },
  {
    "sku": "007890",
    "product": {
      "title": "Thermal Winter Cycling Gloves",
      "category": "Apparel"
    },
    "pricing": {
      "retail": 49,
      "sale": 39
    },
    "inventory": {
      "stock": false,
      "inStock": false
    }
  }
]
Tier1 stat1 title

Tier1 stat1 sub

Tier1 stat2 title

Tier1 stat2 sub

Tier1 stat3 title

Tier1 stat3 sub

Technical Reference & Architecture Guide

Excel to JSON & XLSX Converter Guide

Convert Excel to JSON instantly in your browser. Parse XLSX, XLS, and CSV files into clean JSON objects, nested trees, or column arrays with zero server upload.

Excel to JSON & XLSX Converter Guide — Client-Side In-Memory Architecture & Data Flow
Excel to JSON & XLSX Converter Guide — Client-Side In-Memory Architecture & Data Flow

Key Parameters & Controls

outputStructureenum ('arrayOfObjects' | 'gridMatrix' | 'keyedByColumn' | 'columnVectors')

Defines the root JSON AST topology conforming to RFC 8259: Row-keyed record collections ([{col: val}]), 2D matrix vectors ([[val]]), primary key indexed dictionary objects ({[id]: {row}}), or column-oriented vector buffers ({col: [vals]}) for analytical queries.

Default: arrayOfObjects
dateHandlingenum ('iso8601' | 'unixMs' | 'formattedLocale' | 'rawSerial')

Normalizes ECMA-376 date serial numbers against the 1900/1904 calendar system. Computes UTC milliseconds via (serial - 25569) * 86400000, adjusting for the intentional Lotus 1-2-3 leap year bug (day 60) to emit standard ISO 8601 UTC strings.

Default: iso8601
nestedPathModeboolean

Executes deterministic recursive path tokenization on header keys containing dot notation (e.g., 'user.profile.name') and bracketed indices (e.g., 'items[0]'), assembling nested object trees in O(k) path depth without prototype pollution vulnerability.

Default: true
numberSanitizationboolean

Sanitizes localized accounting strings by stripping currency symbols ($€£¥), thousands grouping separators, and accounting parentheses, parsing IEEE 754 double-precision floats within 53-bit safe integer bounds (Number.MAX_SAFE_INTEGER).

Default: true
leadingZeroShieldboolean

Guards alphanumeric identifiers (EAN/UPC barcodes, US ZIP+4, ISO 3166 codes, tax IDs) matching leading-zero patterns from destructive numeric coercion, retaining pristine string types to prevent upstream data loss.

Default: true
emptyCellModeenum ('omit' | 'null' | 'emptyString')

Dictates sparse matrix normalization across unallocated OpenXML cell elements (<c/>): Omits undefined keys to minimize JSON payload size, explicitly assigns null for database schema fidelity, or injects empty strings.

Default: null

Pro Tips & Best Practices

Structuring Nested JSON with Dot-Notation and Array Indices

Embed object hierarchies directly into Excel header rows using dot notation (e.g., user.profile.taxId or lineItems[0].sku). The browser-side parser splits tokens along delimiter boundaries and constructs deeply nested JSON trees in O(N * K) time, bypassing the need for secondary ETL jq transformations while enforcing safe object property assignment to prevent prototype pollution.

Resolving Excel 1900 vs 1904 Date Epoch Drift and the Leap Year Bug

Excel workbooks calculate dates as serial days elapsed since December 30, 1899 (Windows 1900 system) or January 1, 1904 (legacy Mac OS). Windows Excel incorporates Lotus 1-2-3's intentional bug treating 1900 as a leap year (serial 60 = 1900-02-29). Enable ISO 8601 normalization to resolve epoch offsets via (serial - 25569) * 86400000 for 1900 workbooks or (serial - 24107) * 86400000 for 1904 workbooks, ensuring microsecond-accurate UTC date strings.

Preventing Leading-Zero Truncation on Alphanumeric Identifiers

Spreadsheet calculation engines coerce cells with leading zeros (e.g., US ZIP code '02138' or EAN-13 barcodes) into numeric types, discarding high-order zeros. To guarantee RFC 8259 string output, enable Leading Zero Shield or prefix cell values with an apostrophe (') in Excel, which marks the OpenXML cell type attribute as string (t='s') rather than unformatted number (t='n').

Payload Optimization: Array of Objects vs Columnar Vector JSON

Array of Objects ([{col: val}]) incurs severe JSON payload bloat because column keys repeat across every record—an 80,000-row file with 20 columns can exceed 40 MB. Selecting Column-Oriented Vectors ({col: [val1, val2]}) serializes each header once, cutting uncompressed JSON payload size by 45% to 70% and accelerating memory ingestion in analytical data engines (DuckDB-Wasm, Apache Arrow, Chart.js).

Common Gotchas & Troubleshooting

⚠️Dates render as 5-digit integers (e.g., 45231) or timestamps show 4-hour timezone shifts in output JSON

Excel serializes calendar dates as floating-point day counts without embedding timezone offsets in raw <c v='...'> nodes. Activate 'Convert Excel serial dates to ISO 8601' to apply the 25,569-day Unix epoch shift and force explicit UTC zero-offset (Z) formatting, eliminating local client clock drift.

⚠️Currency values with commas or parentheses parse as NaN or string primitives instead of numbers

Accounting formats format negative values in parentheses (e.g., (1,250.00)) and append currency glyphs ($€£¥). Activate 'Number Sanitization' with appropriate locale selection; European decimal comma formats (1.250,00) require switching the decimal separator delimiter to prevent truncating fractional cents.

⚠️Merged cell ranges cause downstream rows to populate with null or missing keys

The OpenXML specification (xl/worksheets/sheet*.xml) populates only the top-left coordinate cell of a <mergeCell> range, leaving subsequent intersected cells completely absent from the XML stream. Enable 'Forward-Fill Merged Cells' to propagate parent category values down through merged row spans before converting to records.

Frequently Asked Questions

How do you convert Excel serial date numbers to ISO 8601 dates in JSON?▼

To convert an Excel date serial into an ISO 8601 UTC string, calculate UTC milliseconds using (serial - 25569) * 86400000 for 1900 date systems, accounting for Excel's historical leap year bug that counts non-existent February 29, 1900 (serial 60). In OpenXML workbooks (ECMA-376), cells with the 's' style attribute index into numFmts containing date patterns. Our client-side parser detects these style IDs, adjusts fractional day decimals into hours, minutes, and seconds, and serializes the result directly into an RFC 3339 / ISO 8601 timestamp (e.g., 2024-03-15T00:00:00.000Z).

What is the difference between Array of Objects and Column-Oriented JSON output?▼

Array of Objects formats tabular data row-by-row as [{'id': 1, 'status': 'active'}, {'id': 2, 'status': 'pending'}], whereas Column-Oriented JSON groups values by column key as {'id': [1, 2], 'status': ['active', 'pending']}. Array of Objects is standard for REST API payloads, MongoDB BSON documents, and ORM bulk inserts. Column-Oriented vectors eliminate repeating dictionary keys across thousands of records, reducing uncompressed JSON file size by 40% to 65% and optimizing memory throughput for columnar analytical engines like DuckDB, Apache Arrow, and frontend visualization libraries.

What is the maximum file size and row limit for client-side Excel to JSON conversion?▼

Client-side browser parsing safely handles XLSX workbooks up to 50 MB containing approximately 250,000 to 500,000 rows within 1.5 to 4 seconds, bounded only by the browser tab's V8 heap memory limit (typically 2 GB to 4 GB). Because file extraction is executed locally inside an isolated Web Worker using zero-copy ArrayBuffer streaming and O(N) linear single-pass parsing, zero byte data is transmitted across the network, ensuring strict compliance with GDPR, HIPAA, and SOC 2 confidential data processing standards.

Why does Excel convert 16-digit credit card or tracking numbers into scientific notation and how do you fix it?▼

Excel enforces the IEEE 754 double-precision floating-point standard, which supports only 53 bits of precision (representing 15 to 17 significant decimal digits, up to 9,007,199,254,740,991); any integer exceeding 15 digits has its trailing digits permanently rounded to zeros and displays as scientific notation (e.g., 1.23457E+15). To prevent precision loss during JSON export, format the column as 'Text' before input or activate 'Leading Zero Shield' so the converter extracts raw string tokens from the shared strings table (xl/sharedStrings.xml) instead of coercing through the numeric calculation pipeline.

How does the converter handle Excel formula cells versus calculated values?▼

The converter reads the cached formula evaluation stored in the OpenXML <v> value tag rather than re-executing dynamic formula expressions in JavaScript. When an Excel workbook is saved, Microsoft Excel computes formulas (such as =SUM(A1:A50) or =XLOOKUP(...)) and serializes the resulting literal in the <v> node adjacent to the <f> formula definition. This guarantees 100% calculation parity with Excel's native formula engine without requiring external recalculation libraries.

How do you parse European Excel files that use comma decimals and semicolon delimiters?▼

European spreadsheets follow the DIN 5008 standard, utilizing semicolons (;) as list separators, commas (,) as decimal marks, and periods (.) as thousand groupings (e.g., 1.250,75 €). When parsing European CSV or XLSX exports, set the Decimal Separator to 'Comma (,)' and enable 'Number Sanitization', which swaps comma radix points to standard IEEE 754 period decimals and strips thousand-separator dots in a single regex sweep, preventing 1.250,75 from parsing as NaN or an inflated 125075.

Related Tools & Utilities

All Tools →
Credit Card Payoff Calculator & Debt Planfinance

Calculate credit card payoff timelines, interest savings, and debt payoff strategies. Compare fixed payments vs payoff goal dates with amortization schedule.

Open tool→
Emergency Fund & Financial Runway Calculatorfinance

Calculate your optimal emergency fund target and survival runway across essential and discretionary expenses, life shock scenarios, and multi-tier liquidity vaults (Cash, HYSA, Government Bonds). Features bi-directional what-if reverse calculations and dynamic reserve allocation visualizers.

Open tool→
Freelance Hourly Rate & Billable Hours Calculatorfinance

Calculate your true minimum viable and target hourly freelance rates based on desired net income, unbillable admin overhead, local self-employment taxes, and equipment expenses. Features bi-directional what-if reverse calculations and dynamic income waterfall charts.

Open tool→
Fraction Calculator - Add, Subtract, Multiply & Divide with Stepsmath

Perform fraction arithmetic with mixed numbers, improper fractions, LCD finding, and step-by-step simplification. 100% private in-browser math cockpit.

Open tool→
Pressure Converter - PSI, Bar, Pascal, Atm, Torr & mmHgconverter

Convert pressure units between PSI, Bar, Pascals (Pa, kPa, MPa), Standard Atmospheres (atm), Torr, and Millimeters of Mercury (mmHg) with visual gauge representation.

Open tool→
Sleep Cycle Calculator - 90-Minute REM & Optimal Bedtime Plannerhealth

Calculate optimal bedtimes and wake-up times aligned with 90-minute ultradian sleep cycles (NREM/REM) to wake up refreshed without morning sleep inertia. 100% private in-browser health cockpit.

Open tool→