XLS File Format
Legacy Excel format used by Excel 97 through 2003. A proprietary binary stream (BIFF). Still common in enterprise systems that pre-date the 2007 XLSX switch.
What a Excel 97-2003 Binary file is
An .xls file is a single proprietary binary stream — not text, not a ZIP. Cells, formulas, formatting, and sheets are encoded in BIFF records.
Because the format is closed and old, fewer modern libraries parse it cleanly, and edge cases like unusual encodings or stale add-in data are more common than with XLSX.
A short history
XLS is the binary format Excel used from version 97 through 2003, built on Microsoft's BIFF (Binary Interchange File Format) structure.
It was the dominant spreadsheet format for almost a decade until Excel 2007 made the open, XML-based XLSX the default. Microsoft has treated XLS as legacy ever since.
Strengths
- Universally readable by old Excel installations and enterprise tools
- Stores formulas, formatting, and multiple sheets like XLSX
- Single-file binary — no zip overhead
Weaknesses
- Capped at 65,536 rows × 256 columns
- Larger files than equivalent XLSX
- Closed binary format — fewer modern parsers, more edge cases
- Effectively deprecated by Microsoft since 2007
When XLS is the right choice
- A legacy system or partner can only produce or read .xls
- You're working inside an old toolchain that pre-dates the 2007 XLSX switch
- You received an .xls and just need to read or convert it
When to reach for something else
- You have any choice in the matter (use XLSX instead)
- The dataset exceeds 65,536 rows or 256 columns — XLS can't hold it
- You want the smallest file or the broadest modern tool support
XLS pitfalls that cause silent data corruption
These are the traps that turn a clean file into wrong data, usually without an error message.
Hard row and column ceiling
XLS caps out at 65,536 rows and 256 columns. Data beyond that is silently truncated on save, which is a real risk when exporting a large dataset to .xls.
Bigger files than XLSX
The uncompressed binary is larger than the equivalent zipped XLSX, so legacy .xls files waste space for no benefit.
Parser edge cases
Old encodings, regional settings, and add-in artifacts can trip up modern parsers, producing odd characters or misread cells you wouldn't see in XLSX.
Convert XLS to another format
Frequently asked questions
Should I still be using XLS?▾
Only for compatibility with systems that can't read XLSX. XLS is capped at 65,536 rows, produces larger files, and has been deprecated since 2007. For anything new, save as XLSX.
Why does my XLS lose rows?▾
XLS can hold at most 65,536 rows and 256 columns. Exporting a larger dataset to .xls truncates it, often without a clear warning. Use XLSX or CSV for big data.
Can SheetCompare read .xls files?▾
Yes. SheetCompare parses .xls alongside .xlsx, .csv, and .tsv, so you can diff a legacy .xls against a modern file directly, without converting first.