
Scroll to the bottom of any Excel sheet (Ctrl+↓ on an empty column) and you stop at row 1,048,576. Press Ctrl+→ and the last column is XFD. These are not random numbers — they are powers of two, and once you see why, dozens of other “odd” limits in software make sense.
In this article
Computers count in binary
A computer stores numbers in bits. With n bits you can represent 2n different values:
| Bits | Values | Where you meet it |
|---|---|---|
| 8 | 256 | Old Excel’s 256 columns (IV), a byte, 0–255 colour levels |
| 14 | 16,384 | Excel’s columns today (A…XFD) |
| 16 | 65,536 | Excel 97–2003 rows |
| 20 | 1,048,576 | Excel 2007+ rows |
| 32 | 4,294,967,296 | IPv4 addresses, 4 GB file limits, the year-2038 problem |
Designers pick limits that fit neatly into a fixed number of bits, because that makes storage and lookups fast and predictable. A row number that always fits in 20 bits can be packed into memory and files efficiently.
Excel’s limits, explained
| Limit | Value | Why |
|---|---|---|
| Rows | 1,048,576 | 220. Raised from 65,536 (216) in Excel 2007 with the new .xlsx format. |
| Columns | 16,384 (XFD) | 214. Up from 256 (28, column IV). |
| Characters in a cell | 32,767 | 215 − 1: the largest value of a signed 16-bit number. Only 1,024 are shown in the cell; all are in the formula bar. |
| Precision | 15 significant digits | Excel stores numbers as IEEE 754 “double” floating point (53 bits of precision ≈ 15–16 decimal digits). Type a 16-digit card number and the last digit becomes 0. |
| Formula length | 8,192 characters | 213. |
| Nested functions | 64 levels | 26 — enough for any sane formula. |
| Arguments per function | 255 | 28 − 1. |
| Earliest date | 1 January 1900 | Dates are day numbers counted from 1900 (day 1). |
Why Excel thinks 1900 was a leap year
Excel accepts the date 29-Feb-1900, which never existed (1900 was not a leap year). This was copied on purpose from Lotus 1-2-3, the dominant spreadsheet of the 1980s, so that files would give the same day numbers. Fixing it now would shift every date before March 1900 by one day in millions of files — so the bug stays. See why we have leap years.
Why 0.1 + 0.2 isn’t exactly 0.3
Binary cannot represent 0.1 exactly, just as decimal cannot write 1/3 exactly. Tiny errors appear, which is why comparisons like =A1=0.3 sometimes fail. Round before comparing. Full story: why 0.1 + 0.2 is not 0.3.
Limits in other software you use
| Where | Limit | Logic |
|---|---|---|
| FAT32 pen drives | 4 GB per file | File size stored in 32 bits: 232 bytes = 4 GiB. Format the drive as exFAT or NTFS for bigger files. |
| Windows file paths | 260 characters (MAX_PATH) | A fixed buffer size chosen in the 1990s. Newer Windows can lift it, but many programs still assume it — the reason deep folder trees cause “path too long” errors. |
| SMS | 160 characters | Engineer Friedhelm Hillebrand measured typical postcards and telex messages and found 160 characters was usually enough; 160 × 7-bit characters fit the 140-byte signalling slot. With emoji or Hindi (Unicode), the limit drops to 70. |
| IPv4 addresses | ~4.3 billion | 32-bit addresses. We ran out, hence IPv6 (128-bit). |
| The year 2038 | 19-Jan-2038 | Many systems count seconds since 1970 in a signed 32-bit number, which overflows then. |
| Google Sheets | 10 million cells per spreadsheet | A practical performance cap for a browser app, not a binary limit. |
| CSV files | No limit | Plain text — but open a 2-million-row CSV in Excel and only the first 1,048,576 rows load. Use Power Query or Python for larger files. |
| SAP FI document | 999 line items | The line-item number field is three digits. |
| Old games | Level 256 “kill screen” in Pac-Man | The level counter was 8 bits; at 256 it overflowed and half the screen turned to garbage. |
What to do when you hit a limit
- More than a million rows: load into the Data Model (Power Pivot) or Power BI — they handle tens of millions — or use a database/SQL.
- Long ID numbers (cards, Aadhaar, account numbers): format the column as Text before pasting, or prefix with an apostrophe, so no digits are lost.
- Huge files on a pen drive: reformat as exFAT.
- Path too long: shorten folder names or map a drive letter to a deep folder.
=ROWS(A:A) and =COLUMNS(1:1). Excel answers 1048576 and 16384.Stuck on a step? Ask a question and the AI answers using this article.