Guide
CSV File Size Limit: Excel, Sheets, Email, USB and Imports
Published · Updated
The CSV format itself has no size limit. RFC 4180, the closest thing CSV has to a specification, says nothing about maximum file size, number of rows or length of a value. A CSV is plain text, and a text file can be as large as the disk that holds it.
So when a CSV is “too big”, something else has a limit: the spreadsheet you open it in, the email service you send it with, the drive you copy it to, or the system you import it into. Those limits are real, they vary a great deal, and most of them are published. Here they are, taken from each vendor’s own documentation, with a link to the page each one comes from. We checked every linked figure on 10 October 2026. This guide is about size; the maximum rows and columns of common programs and importers are on a page of their own. To find out how big a file is in rows and columns without opening it in a spreadsheet, use RowSlice’s CSV Analyzer; to bring a file under a limit, split the CSV into smaller files.
Spreadsheets
| Program | Limit | What happens over it | Source |
|---|---|---|---|
| Excel (.xlsx) | 1,048,576 rows and 16,384 columns per sheet; 32,767 characters in a cell | Loads the rows that fit and warns that the data set is too large for the grid | Microsoft |
| Excel 97–2003 (.xls) | 65,536 rows and 256 columns per sheet | Same, at a much lower number | Microsoft |
| Excel Data Model | 1,999,999,997 rows per table | Works well beyond the sheet limit, but the rows cannot be scrolled or edited in a grid | Microsoft |
| Google Sheets | 20 million cells or 100 MB per spreadsheet created in or converted to Sheets | “This file is too large to import directly into Google Sheets” | Google, announcement, message |
Two details matter. Excel’s limit is on rows, so a 2 GB file of short rows fails where a 2 GB file of long rows might not. Google’s limit is on cells, so the number of rows you can have depends on the number of columns: at 20 columns, 20 million cells is 1,000,000 rows, header included. Sheets has a second limit as well: 100 MB for a spreadsheet created in or converted to Sheets, which a file with long values can hit before it reaches 20 million cells. Google’s help page gave both figures when we read it on 10 October 2026. The cell limit was 10 million until Google doubled it in a rollout that began on 10 September 2026, so older answers still give that figure.
We checked the Excel behaviour with a 2.5-million-row CSV: Excel 2021 loaded exactly 1,048,576 rows, and Excel’s row limit explains what happens to the rest. We also found a less obvious limit. A value longer than 32,767 characters did not produce an error: the rest of it spilled into a new row, shifting every column after it. Why a CSV won’t open in Excel shows the details.
Email and File Transfer
| Service | Limit | Source |
|---|---|---|
| Gmail, personal account | 25 MB of attachments; larger files are sent as a Google Drive link instead | |
| Outlook.com | 25 MB per attachment | Microsoft |
| Microsoft 365 (Exchange Online) mailboxes | 35 MB per message by default; administrators can set up to 150 MB | Microsoft |
| Google Drive | 5 TB per file |
For email, zip the file first: in our test a 99.4 MB CSV compressed to 25.4 MB, which is still just over Gmail’s limit, so a file that size also needs splitting. The CSV splitter’s maximum-size mode keeps each part under the size you set. Reducing a CSV’s size compares the other options.
Disks and USB Drives
A drive formatted as FAT32, still common on USB sticks, cannot store a file of 4 GiB or more; Microsoft’s comparison of file systems lists the maximum file size as 4 GiB for FAT32 and 264−1 bytes for NTFS and exFAT. Apple documents a 263-byte maximum for APFS. In practice, only FAT32 gets in the way. Apple’s Disk Utility guide recommends exFAT for Windows-compatible drives over 32 GB, and reformatting erases the drive, so for a one-off copy, zip the file or split it into parts under 4 GB instead.
Import Tools
Systems that import CSVs publish their own limits, in rows, in megabytes or both. A few current size limits:
| Tool | Published limit | Source |
|---|---|---|
| Shopify product import | 15 MB per CSV | Shopify |
| HubSpot | 512 MB per file on paid plans; 20 MB on free tools | HubSpot |
| Mailchimp | Files over 200 MB, or about one million contacts, “may cause import errors” | Mailchimp |
| Google BigQuery | 4 GB per compressed CSV; 5 TB uncompressed | Google Cloud |
Splitting a CSV to fit an import limit covers more tools and how to work out the right part size, including the daily allowances some of them add on top.
Memory: The Limit Nobody Prints
Many programs read the whole file into memory before showing any of it, so the limit is your computer’s RAM rather than a published number. Excel is one: Microsoft’s guide to Excel’s resource errors notes that “in any 32-bit application, there’s a 2-GB limitation,” while “the 64-bit version allows all available physical RAM on the machine to be used.” (On 64-bit Windows, a later change doubled 32-bit Excel’s allowance to 4 GB.) pandas is another; its guide to scaling to large datasets says it “provides data structures for in-memory analytics, which makes using pandas to analyze datasets that are larger than memory somewhat tricky,” and read_csv offers a chunksize option to read a file in pieces.
Tools that stream the file, reading a piece at a time, avoid this limit. DuckDB queries a CSV on disk without loading it first. RowSlice’s tools read the file in chunks in your browser and write their output to disk as they go, so when you split, merge or convert a file, memory use stays about the same however large it is; the limits are free disk space and the storage your browser allows a site, about 10 GB in Firefox. Removing duplicates is the exception: it keeps a small fingerprint of every different row in memory, and stops with an error past about 33 million different rows.
What to Do When a File Is Over a Limit
- Measure it: the size in megabytes, and the number of rows, which is not the same as the number of lines — counting the rows in a CSV explains why. RowSlice’s CSV Analyzer reports the size, the data rows and the columns in one pass.
- Make it smaller if it can stay whole: remove columns the destination does not need, or zip it for email and storage.
- Split it if it cannot: RowSlice can split a large CSV file into multiple files by rows, by maximum size or into a set number of files, with the header in every part.
- Test before the real run: a sample CSV file generated at the same size shows whether an import or a script copes, without risking real data.