Guide
Excel’s Row Limit: What Happens after Row 1,048,576
Published · Updated
Short answer: An Excel worksheet holds at most 1,048,576 rows, and the header counts as one of them. When a CSV has more, Excel loads rows up to the limit, warns that the data set is too large for the Excel grid (older versions say the file was not loaded completely), and leaves the rest out of the workbook; if you then save over the CSV, those rows are deleted from the file too. Close without saving, then split the file into parts of up to 1,000,000 rows or load it into Excel’s Data Model.
Every Excel worksheet has a fixed grid of 1,048,576 rows by 16,384 columns (the last cell is XFD1048576), as Microsoft’s Excel specifications and limits page lists. The numbers look arbitrary, but they are powers of two: 220 rows and 214 columns. The limit has been the same since Excel 2007 introduced the .xlsx format, and it applies to the 64-bit version too — more memory does not give you more rows.
The Limits at a Glance
| Program | Rows | Columns | Notes |
|---|---|---|---|
| Excel 2007 and later, Microsoft 365 | 1,048,576 | 16,384 | Per worksheet; 32,767 characters per cell |
Excel 97–2003 (.xls) | 65,536 | 256 | Still applies when saving as .xls |
| Google Sheets | 20 million cells or 100 MB per spreadsheet | Rows × columns, across all tabs | |
| LibreOffice Calc | 1,048,576 | — | Same row ceiling as Excel |
| Excel Data Model (Power Pivot) | Not bound by the grid | Limited by memory and file size | |
The Excel figures come from Microsoft’s specifications page and, for .xls, its page on worksheet compatibility issues. The Google Sheets figures come from Google’s file size limits and its announcement of the 20-million-cell limit. One reference page collects the maximum rows and columns of common programs and importers, with the source for each.
What Happens When a CSV Has More Rows
When you open a CSV with more than 1,048,576 lines, Excel loads rows up to the limit, then stops and warns that not all the data was loaded. Everything after the last row is not in the workbook at all. There is no second sheet and no hidden overflow. The rows it left out are still in the CSV until you save over it, and RowSlice’s CSV Viewer shows them.
The dangerous moment is saving. If you press Save while the CSV is open, Excel writes back only what it loaded, and the original file loses every row past the limit. If you have seen that warning, close the file without saving, or use Save As with a new name. To see the warning without risking real data, the sample CSV file generator has a preset of 1,048,577 rows, more than a worksheet holds.
Remember that the header takes a row too, so a sheet holds at most 1,048,575 data rows plus the header. And the row number in the corner of a worksheet is not a row count: if it reads exactly 1,048,576 you are almost certainly looking at a truncated file. To get the real number without opening the file in Excel, RowSlice’s CSV Analyzer counts the rows in one pass, and how to count the rows in a CSV gives other ways and explains why a line count and a row count are not the same thing.
Before the Row Limit: The Speed Limit
Many files never reach the row limit and are still painful. Excel analyses every value as it opens a CSV, deciding whether it is a number, a date or text, and applies formatting. A file of 500,000 rows and 40 columns is 20 million cells, and on an ordinary laptop that can mean minutes of waiting and a very slow workbook. Deleting unused columns, or splitting the CSV by a column value so you open only the rows you need, helps far more than a faster computer. When the rows all have to stay together, shrink the file instead of splitting it.
That same value-by-value analysis is what silently rewrites your data: ZIP code 02134 loses its zero and a 16-digit reference loses its last digit. If the file has to end up as a workbook, import it rather than open it — how to convert a CSV to Excel without breaking your data.
Ways to Work with Files over the Limit
- Split the file into parts of up to 1,000,000 rows, each with the header. RowSlice can split a large CSV file into multiple files in your browser.
- Filter before opening by splitting on a column such as region or month, so each file is small.
- Use the Data Model via Data › Get Data › From Text/CSV › Load To › Add this data to the Data Model for PivotTables over millions of rows.
- Use a tool built for big data, such as DuckDB or Python, when you need to query the whole file. The guide on opening large CSV files compares the options.
- Read the rows without a grid at all. RowSlice’s CSV Viewer pages through and searches a CSV whatever its length, so row 2,000,000 — the one Excel will not show you — is a row number you can type. It reads the file and changes nothing, which is the point: the rows Excel left out are still in the CSV.
A worksheet is not the only thing with a ceiling. Import screens for CRMs, e-commerce platforms and mailing tools cap uploads by rows, by megabytes or by cells, and each wants a different split — how to split a CSV to fit an import limit collects the published figures, and the guide to CSV file size limits covers the rest, from email attachments to USB drives. If Excel refuses a file that is well under the limit, why a CSV won’t open in Excel goes through the other causes.