Office File Format History: From .xls to .xlsx, .mdb to .accdb

February 5, 2026 · 10 min read

If you've ever wondered why a .xls file from 2003 is causing problems in Excel 365, the answer is format history. The .xls and .mdb formats were designed for a different era of computing — 32-bit processors, single-user machines, and a security model that assumed files were safe by default. Understanding where these formats came from makes it easier to understand why migration isn't optional.

Excel Format History: BIFF to Open XML

1987

BIFF2 — Excel 2.0 for Windows

The first Excel format for Windows. BIFF stands for Binary Interchange File Format — a flat binary structure with no standardized documentation. Designed for single worksheets, 256 columns, 16,384 rows. No macros, no formatting beyond basics. Files were tiny because spreadsheets were tiny.

1990–1993

BIFF3 and BIFF4 — Excel 3.0 and 4.0

BIFF3 added support for multiple worksheets, more formatting options, and early chart data. BIFF3 introduced rudimentary macro support via the Excel macro language (XLM macros). BIFF4 continued and expanded XLM macro support — a precursor to VBA. Still 256 columns, still 16,384 rows, still binary.

1993–1997

BIFF5 and BIFF7 — Excel 5.0 and 7.0 (95)

BIFF5 introduced VBA as a replacement for XLM macros, along with the Compound Document storage format (the same binary container used by Word .doc and other Office files). Excel could now store multiple embedded objects. BIFF7 was used by Excel 7.0 (the version included with Office 95).

1997–2003

BIFF8 — Excel 97 through Excel 2003

This is the format you know as .xls. BIFF8 expanded to 65,536 rows and 256 columns, added Unicode support, expanded VBA capabilities, introduced ActiveX control embedding, and added the OLE storage format for rich objects. BIFF8 / .xls files from this entire era are the primary migration target today.

The format ran unchanged for six years across four Office versions (97, 2000, XP, 2003). Anything created in those versions is in BIFF8 — even though the files were made 20+ years ago.

2007

Open XML — Excel 2007 (.xlsx, .xlsm, .xlsb)

The single largest format change in Excel's history. Microsoft replaced the proprietary binary BIFF8 format with Open XML — a ZIP archive containing XML files. This was a complete reimplementation:

Notably, .xls remained the default save format in Excel 2007 for users who wanted backward compatibility. This is why there are .xls files created as recently as 2010–2012 still in circulation.

2010–present

Stabilized Open XML — Excel 2010 through Microsoft 365

Excel 2010 made .xlsx the definitive default. Excel 2013 added improvements to the file format. Excel 2016, 2019, and 365 are all using refined versions of the same Open XML standard. .xls is still technically supported but runs in a progressively more restricted compatibility mode with each major update.

Access Format History: Jet to ACE

1992

Jet 1.0 — Access 1.0 (.mdb)

Access launched with the Jet 1.0 database engine. The .mdb format (Microsoft Database) stored tables, queries, forms, reports, and macros in a single binary file using the Jet engine. Designed for single-user desktop use, 32MB database limit.

1993–1997

Jet 2.0 and 3.x — Access 2.0 through Access 97 (.mdb)

Jet 2.0 added multi-user support via record locking. Jet 3.0 and 3.5 expanded the database size limit to 2GB and introduced VBA as the programming language for Access (replacing earlier macro-only automation). The .mdb format persisted through all versions — an Access 97 .mdb looks identical by extension to an Access 2.0 .mdb.

2000–2003

Jet 4.0 — Access 2000 through Access 2003 (.mdb)

Jet 4.0 was the last major revision of the Jet engine. It added Unicode support, improved SQL compatibility (closer to ANSI SQL), and expanded the 1GB limit to 2GB. All .mdb files in active use today that were created after 2000 are Jet 4.0 format. This is the format that causes most compatibility issues on Windows 11.

2007

ACE Engine — Access 2007 (.accdb)

Access 2007 shipped a new database engine — ACE (Access Connectivity Engine) — and a new format: .accdb. Major improvements:

The .mdb format was retained in Access 2007 for backward compatibility, but .accdb became the default and .mdb support has been degraded in every subsequent version.

2019–present

Access 2019 and Microsoft 365 Access

.mdb files are technically still readable but the Jet 4.0 engine that powers them is no longer updated. Windows 11, especially 24H2, made several changes to how the legacy Jet engine is loaded. Some .mdb databases that worked fine on Windows 10 stopped working after upgrading.

Why Format History Matters for Migration

When you have a .xls or .mdb file from 2003 or 2008, you're not just dealing with old data — you're dealing with binary structures designed for a different era of Windows, different security assumptions, and different hardware. The format itself carries the assumptions of the time it was built.

Modern Office formats (.xlsx, .xlsm, .accdb) are:

Ready to leave the legacy formats behind?

LegacyLeaps migrates .xls to .xlsx and .mdb to .accdb — preserving all your VBA, macros, formulas, and data in formats that work on modern Windows and Office.

Download Free Scanner

For more on the specific technical differences, see .xls vs .xlsx — What Changed and Why It Matters and the Complete Guide to Legacy Excel Migration.

Get tips like this in your inbox

Practical fixes for legacy Excel and Access problems. No spam.

← Back to all posts