Skip to content
FileMyLove

Guides

.xls vs .xlsx: what's the difference, and what to do when an old Excel file won't open

How Excel's .xls, .xlsx, .xlsm and CSV files differ, the row limits, what gets lost when you save in the old format or as CSV, and how to open or convert Excel files without uploading them.

By FileMyLove team3 min read

Excel files at work come as .xls, .xlsx, .xlsm and .csv. Some open with a warning; some lose formulas or sheets when you save. Here's the difference in plain words, based on Microsoft's own documentation.

In short

Extension What it is Macros? Max rows per sheet
.xls The old Excel 97–2003 format Yes 65,536
.xlsx The standard format since Excel 2007 No 1,048,576
.xlsm The new format with macros Yes 1,048,576
.csv Plain text, values separated by commas No No sheets, just data

.xls: the old format

.xls is the binary format used by Excel 97, 2000, 2002 and 2003 (technically BIFF8), stored inside an OLE compound file that general-purpose programs find hard to read.

Newer Excel opens .xls files in Compatibility Mode, turning off new features so nothing is lost when you save back to the old format.

The big limit is sheet size. Microsoft says Excel 97–2003 allows only 65,536 rows × 256 columns, while Excel 2007 and later allow 1,048,576 rows × 16,384 columns. Save a large workbook as .xls and data beyond that range is not saved; formulas pointing at it return #REF!.

.xlsx: today's standard

.xlsx is the XML-based default format since Excel 2007, called Office Open XML and standardised as ECMA-376 and ISO/IEC 29500.

Inside, an .xlsx is a ZIP of several XML parts. Excel unzips it when opening and zips it again when saving. Microsoft even notes you can rename .xlsx to .zip to look at the parts.

.xlsm: when there are macros

Microsoft says .xlsx cannot store VBA macro code; a workbook with macros must be saved as .xlsm. The last letter tells you: x means no macros, m means macros.

Macros can carry harmful code. If an .xlsm arrives from someone you don't know, don't enable its macros.

What's lost when you save as .xls

When you save to the Excel 97–2003 format, Excel runs the Compatibility Checker automatically to list anything that won't work or will look different in the old version. Read that list before you save.

If the recipient has a modern Excel, just send .xlsx.

CSV isn't a full Excel file

CSV is plain text that almost any program can open, but Microsoft says that when you save as CSV:

  • only the active sheet is saved;
  • only the values as displayed are kept — formulas become their results;
  • colours, formatting, charts and pictures are lost.

If non-English text such as Thai looks garbled when you open a CSV, it's usually the character encoding. Microsoft says a UTF-8 CSV opens normally if saved with a BOM; otherwise import it with Data > Get Data > From Text/CSV rather than double-clicking.

A yellow or red bar when opening an old file

Newer Excel has File Block settings that stop outdated file types from opening normally, because the code that reads old formats has vulnerabilities attackers can exploit. The file opens read-only in Protected View.

If the file comes from someone you trust, select Enable Editing on the yellow bar. If you're not sure, look at it read-only first.

Open or convert Excel files without installing anything

No Excel, or want to look at a file safely first? Use our tools — files are never uploaded; everything runs in your browser.

  • Excel to PDF: view .xlsx and old .xls files (.xlsx files show their charts and pictures too), then print or save as PDF.
  • Excel to CSV: every sheet as a CSV (several sheets come as a ZIP), saved as UTF-8 with a BOM so Thai text opens correctly in Excel.
  • CSV to Excel: turn a CSV back into .xlsx.
  • PDF to Excel: pull tables out of a PDF into an Excel file.

Note

This article is based on Microsoft documentation read on 28 September 2026. Menu names can differ slightly between Excel versions.