.xls

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.

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.

Compare two XLS files

Drop two versions into SheetCompare and see every changed cell. Free, private, and runs in your browser.