XLS to XLSX upgrades a legacy Microsoft Excel binary file to the modern Office Open XML spreadsheet format. The difference between these two extensions is bigger than it looks. .xls is the Binary Interchange File Format Excel used from Excel 97 through Excel 2003 — a proprietary, closed binary structure where every cell, style, and formula is packed into custom byte layouts that only Microsoft's own code (or a reverse-engineered library) can reliably parse. .xlsx, introduced with Office 2007, replaced that with Office Open XML: the file is actually a ZIP archive containing a set of human-readable XML documents, one describing the workbook structure, one per worksheet, one for shared strings, one for styles, and so on. That architectural shift is why .xlsx files are typically 40–70% smaller than an equivalent .xls file — XML compresses extremely well inside a ZIP container, whereas the old binary format did not compress at all internally.
The row-and-column ceiling is the most consequential practical difference. The .xls binary format allocates a fixed 16-bit field for row references, which hard-caps every worksheet at 65,536 rows and 256 columns (column IY) — a limit that was already tight for serious data work by the early 2000s and is routinely hit by any modern export from a database, analytics tool, or accounting system. .xlsx, using flexible XML rather than fixed binary offsets, raises that ceiling to 1,048,576 rows and 16,384 columns (column XFD), a jump of roughly sixteen times more rows. If you have ever tried to open a large CSV export in old-format Excel and watched it silently truncate your data at row 65,536, this is exactly the limitation .xlsx removes.
Compatibility runs in the opposite direction from what people expect. Every current version of Excel, LibreOffice Calc, Google Sheets, Apple Numbers, and virtually every business intelligence and data pipeline tool reads and writes .xlsx natively as their default format. .xls support, by contrast, is increasingly an afterthought — still present for backward compatibility, but no longer where new features land, and occasionally flagged by security software because the legacy binary format has historically been a vector for macro-based malware.
Under the hood, this tool uses SheetJS, an open-source spreadsheet parsing library capable of reading the old BIFF (Binary Interchange File Format) structure that .xls files are built from. It walks the binary record structure to extract every worksheet, cell value, formula, and basic cell formatting, then re-serializes that same data as a proper Office Open XML package — writing the workbook.xml, the individual sheet XML files, the shared strings table, and the ZIP container that wraps them all into a valid .xlsx file. Because SheetJS runs as pure JavaScript, this entire read-and-rewrite process happens inside your browser tab; the spreadsheet, which might contain financial records, customer data, or internal reporting, is never transmitted to any server.
Typical situations where this matters: an accounting archive going back to the early 2000s stored entirely in .xls, a legacy export from an old point-of-sale or inventory system, a dataset that needs more than 65,536 rows and currently gets silently truncated, or simply wanting a smaller file that opens faster and plays nicely with cloud tools like Google Sheets or Microsoft 365 online, both of which handle .xlsx far more gracefully than the old binary format.
Once upgraded, Excel to CSV and Excel to PDF both work reliably on the modern .xlsx file.