Email attachment size limits — and why your file is bigger than you think
Almost every mainstream email provider stops somewhere between 20 and 25 MB. That number is less generous than it looks, because the limit applies to the encoded message rather than to the file sitting on your disk.
The limits
Checked September 2026. Providers change these, and a company mailbox can be configured well below the platform default — so treat the table as the ceiling, not a promise.
| Provider | Attachment limit | What it offers instead |
|---|---|---|
| Gmail | 25 MB per message | Offers a Google Drive link automatically above the limit |
| Outlook.com | 20 MB via the web client | Offers a OneDrive link instead |
| Microsoft 365 / Exchange | 25 MB by default | An administrator can raise or lower it; many companies lower it |
| Yahoo Mail | 25 MB per message | — |
| iCloud Mail | 20 MB per message | Mail Drop carries up to 5 GB for 30 days |
| Proton Mail | 25 MB per message | — |
| Zoho Mail | 20 MB on the free plan | — |
The catch nobody mentions: encoding
Email was designed to carry text, so binary attachments are re-encoded into text before they are sent — historically with Base64. Base64 represents every 3 bytes as 4 characters, which makes the attachment roughly 33% larger in transit than it is on disk, before per-line breaks and headers add a little more.
The practical consequence: a 25 MB ceiling clears a file of about 18 MB, not 25. If you are staring at a 21 MB file and a 25 MB limit and the send is failing anyway, this is why. Both ends matter too — your provider may accept 25 MB while the recipient's employer rejects anything over 10.
Four ways past it
- Compress it — but only if it will actually compress. Documents, spreadsheets, text, code and uncompressed images shrink substantially in a zip. Video, JPEG, PNG, MP3 and PDFs that are mostly photos are already compressed; zipping them buys you a percent or two and wastes your time.
- Re-encode the video. Nearly always the real answer for a phone video, because phones record at very high bitrates. Exporting a clip at 1080p instead of 4K frequently produces a file a quarter of the size that still looks fine on a laptop screen.
- Use the drive link your provider is already offering. Gmail's Drive hand-off and Outlook's OneDrive hand-off are one click and remove the ceiling entirely. The trade-off is that the file now lives in your cloud account, readable by the provider, until you delete it — and permission mistakes on those links are the single most common way a private file goes public.
- Send it out of band and email only the reference. Put the file on a transfer service, then send the recipient a short code. The email stays tiny, so no attachment scanner and no mailbox quota is involved, and the file expires on its own.
Why splitting an archive is a bad idea
Splitting a zip into 20 MB parts still comes up as advice. Avoid it. Attachment filters routinely quarantine multi-part archives, a single missing part makes every other part useless, and you have now handed a non-technical recipient a reassembly job. If email cannot carry the file, the answer is to stop using email for the file — not to cut the file into email-shaped pieces.
More guides
Six ways to get a file from your phone to a computer — and where each one breaks
Cable, cloud drive, email, messaging apps, local network and transfer services compared: size ceilings, what each one costs you in privacy, and the specific situation where each method falls apart.
What end-to-end encryption actually protects — and what it does not
The difference between HTTPS, encryption at rest and true end-to-end encryption, why the key matters more than the cipher, and the four things E2EE will never save you from.
Sharing files on public Wi-Fi: which risks are real and which are folklore
HTTPS killed most of the classic café Wi-Fi attacks. Here is what still works against you — rogue access points, DNS manipulation, exposed shares — and the settings that actually matter.
Try SendMyFile
Encrypt a file in your browser and hand it over with a 9-digit code. No account, and it deletes itself.
Try SendMyFile