Every email provider publishes an attachment limit, and every one of those numbers is misleading — because it describes the encoded message, not your file. This page gives the current limits, explains the encoding tax that makes them smaller than they appear, and covers the part most guides omit entirely: the recipient's server has a veto.
The number that matters
Divide any stated limit by 1.37 to get the largest file that will actually fit. A 25MB limit holds about 18MB; a 20MB limit holds about 14.5MB. The difference is Base64 encoding overhead plus MIME structure, and it applies to every provider without exception.
Limits by provider
These are the commonly documented limits at the time of writing. Providers adjust them, and business or enterprise plans are frequently configurable, so treat this as a starting point rather than a guarantee.
| Provider | Stated limit | Real file size | Large-file fallback |
|---|---|---|---|
| Gmail | 25 MB | ~18 MB | Google Drive link, automatic |
| Outlook.com | 20 MB | ~14.5 MB | OneDrive link, automatic |
| Microsoft 365 | 25 MB default | ~18 MB | OneDrive; admin can raise the cap |
| Yahoo Mail | 25 MB | ~18 MB | Cloud link |
| iCloud Mail | 20 MB | ~14.5 MB | Mail Drop — up to 5 GB, expires in 30 days |
| Proton Mail | 25 MB | ~18 MB | Proton Drive link |
| Zoho Mail | 20 MB | ~14.5 MB | Zoho WorkDrive |
| GMX / Mail.com | 50 MB | ~36 MB | Cloud storage |
| Typical corporate server | 10–35 MB | ~7–25 MB | Whatever IT provides |
Gmail's number is worth reading carefully: 25MB is the limit for sending, but Gmail will receive messages up to roughly 50MB. So someone on a more permissive provider can send you something you could never send back — which explains an otherwise baffling class of "but you sent me this exact file" exchanges.
Why the encoding tax exists
The reason is a decision made in the 1980s that has never been undone.
SMTP — the protocol that carries email — was designed for 7-bit ASCII text. Mail servers of the era were entitled to alter or strip the eighth bit of every byte, and some did. Binary data sent raw through that pipe arrives corrupted.
MIME solved this by encoding binary attachments into a restricted alphabet of 64 safe characters — hence Base64. The conversion takes 3 bytes of input and produces 4 characters of output:
| Stated limit | Largest single file | Overhead added |
|---|---|---|
| 10 MB | 7.3 MB | 2.7 MB |
| 15 MB | 10.9 MB | 4.1 MB |
| 20 MB | 14.6 MB | 5.4 MB |
| 25 MB | 18.2 MB | 6.8 MB |
| 35 MB | 25.5 MB | 9.5 MB |
| 50 MB | 36.5 MB | 13.5 MB |
💡 Why this has never been fixed
An extension called 8BITMIME allows binary transmission and has existed since 1994. It is not used for attachments because the entire chain — your server, every relay, spam filters, archiving systems, the recipient's server — would all need to support it, and one legacy hop anywhere silently corrupts the message. A 33% size penalty that always works beat a 0% penalty that sometimes does, and forty years later that is still the trade in force.
The recipient's limit is the one that counts
An email traverses several systems, and the smallest limit anywhere on the path wins:
What makes this frustrating is the timing. Your provider accepts the message immediately — it is within their limit — so the send appears to succeed. The rejection happens on delivery, and the bounce may arrive minutes or hours later, or land in a spam folder, or never appear at all if the receiving server drops it silently.
⚠️ Corporate mail servers are usually stricter
Consumer providers advertise generous limits because storage is cheap and it is a selling point. Corporate servers are tuned for archiving, legal retention and backup cost, and commonly sit at 10MB or 20MB. If you are sending to a company address and the file is anywhere near a limit, send a link — you will not be able to tell from the outside where the ceiling is.
Making a file smaller
Before reaching for a cloud link, it is worth knowing which files can realistically be shrunk and which cannot.
| File type | ZIP saving | Better approach |
|---|---|---|
| CSV, TXT, JSON, XML, SQL | 70–90% | Zip it — text compresses dramatically |
| DOCX, XLSX, PPTX | 0–5% | Already ZIP archives. Compress images inside instead |
| 0–10% | Downsample embedded images to 150 DPI | |
| JPEG, PNG, WebP | 0–3% | Resize dimensions or re-compress the image itself |
| MP3, MP4, MOV | 0–2% | Re-encode at a lower bitrate, or send a link |
| BMP, TIFF, WAV, RAW | 50–90% | Zip, or convert to a compressed format |
| Folders of mixed files | Varies | Zip removes per-file overhead even when data does not shrink |
The pattern is simple: compression only works once. JPEG, MP4, PNG and PDF are already compressed internally, so a general-purpose algorithm finds almost no remaining redundancy. Zipping a folder of holiday photos to fit under a limit is the most common version of this mistake — the archive comes out roughly the same size, occasionally a few kilobytes larger because of ZIP's own headers.
What actually reduces each type
- Photographs — reduce the pixel dimensions. A 4000-pixel-wide photo emailed for viewing on screen is roughly ten times larger than it needs to be. Resizing to 1600 pixels typically cuts the file by 85% with no visible difference on a monitor.
- PDFs — the size is almost always embedded images. A scanned document at 600 DPI is enormous; re-saving at 150 DPI is usually indistinguishable on screen and a fraction of the size.
- Office documents — a single pasted screenshot can add several megabytes. Compress pictures inside the document rather than zipping the result.
- Video — realistically, do not email it. Even a short clip at reasonable quality exceeds most limits, and re-encoding down to fit produces something not worth watching.
Shrink an image before you attach it
Resize or compress in your browser — nothing is uploaded, which also means you can safely do it with documents you would not send to a third-party server.
Open the Image Compressor →Sending large files properly
| Method | Practical ceiling | Worth knowing |
|---|---|---|
| Cloud storage link | Your quota | Revocable, no mailbox cost, and you can see whether it was opened |
| iCloud Mail Drop | 5 GB | Built into Apple Mail; links expire after 30 days |
| File transfer services | 2–10 GB free | No account needed for the recipient; check the retention period |
| Splitting the archive | Unlimited in theory | Fragile — every part must arrive, and many filters block multi-part archives |
| SFTP or a shared drive | Unlimited | The right answer for recurring business transfers |
A link is better than an attachment for reasons beyond size. It does not consume the recipient's mailbox quota, it can be revoked after the fact, it can carry an expiry date or a password, it delivers the current version rather than a frozen copy, and it does not sit in a backup system indefinitely. For anything sensitive, revocability alone justifies it — an attachment, once sent, exists on every server it touched and cannot be recalled.
🚨 Encrypted archives are usually blocked
Password-protecting a ZIP so it cannot be scanned is a common instinct for sensitive files, and most corporate mail filters reject exactly that — an archive whose contents cannot be inspected is treated as a malware risk, because it is a standard delivery technique. The message is quarantined and often neither party is told why.
For genuinely confidential material, use a storage service with real access control, or end-to-end encrypted email. An encrypted attachment with the password in a follow-up email provides very little security and reliably fails to arrive.
Limits that are not about size
| Limit | Typical value | Notes |
|---|---|---|
| Attachments per message | Often unlimited | Total size is the real constraint |
| Recipients per message | 100–500 | Gmail allows 500 per day on free accounts |
| Messages per day | 500 (free) / 2,000 (Workspace) | Exceeding it suspends sending for 24 hours |
| Filename length | ~255 characters | Non-ASCII names may be mangled by older servers |
| Blocked extensions | ~40 types | Even inside a ZIP — see below |
Every major provider blocks executable attachments outright, and most inspect inside archives to do it. Gmail refuses roughly forty extensions including .exe, .bat, .js, .jar, .vbs and .msi — whether they arrive loose or zipped. Renaming the extension does not help, because the file's internal signature is checked.
To send code or an installer legitimately, upload it to storage and share a link, or use a package registry or release page. This is not an obstacle to work around — a substantial share of malware still arrives as an emailed executable, and the filters exist for good reason.
Before you hit send
- Check the real size — your file, times 1.37, must fit under the smallest limit in the chain.
- Consider who is receiving it. Corporate addresses are frequently capped at 10MB.
- Resize images rather than zipping them — that is where the size genuinely is.
- Do not zip already-compressed files. It achieves nothing and adds a step for the recipient.
- Send a link above roughly 10MB even when an attachment would technically fit. It is more reliable and more considerate.
- Never email an executable. It will be blocked, generally without notification.
- Watch for a bounce when sending anything large. A successful send is not a successful delivery.
Summary
- Divide any stated limit by 1.37 for the real maximum file size.
- The overhead is Base64 encoding, a consequence of SMTP being designed for 7-bit text in the 1980s.
- The recipient's server limit applies, and you cannot see what it is.
- Compression only works once — JPEG, MP4, PNG and PDF will not shrink further.
- Links beat attachments for anything large: revocable, quota-free, and always the current version.
- Executables are blocked everywhere, including inside archives.
Frequently Asked Questions
Why does a 20MB file fail on a 25MB limit?
Because email cannot carry raw binary. Attachments are Base64-encoded, which converts every 3 bytes into 4 — a 33% increase — plus MIME headers and line breaks. A 20MB file becomes roughly 27MB on the wire, exceeding a 25MB cap. Divide any stated limit by 1.37 to get the real maximum file size.
What is the largest file Gmail can send?
Gmail's documented limit is 25MB for the total message, which after encoding overhead means a real file of roughly 18MB. Above that, Gmail automatically offers to upload to Google Drive and insert a link instead — which works up to your Drive storage quota, but the recipient needs permission to access it.
Does the recipient's limit matter too?
Yes, and this is what catches people out. The message must pass your provider, any intermediate relay, and the recipient's server. The smallest limit anywhere in that chain wins. Sending a 24MB message from Gmail to a corporate server configured for 10MB produces a bounce hours later, long after you assumed it had arrived.
How can I send a file that is too large for email?
Upload it to cloud storage and send a link — this is what Gmail and Outlook do automatically above their limits. A shared link avoids encoding overhead entirely, lets you revoke access later, does not consume the recipient's mailbox quota, and gives you the option of expiry and passwords. For a one-off, a compressed archive may bring a marginal file under the limit.
Does compressing into a ZIP help?
It depends entirely on the file type. Text, spreadsheets, CSV and uncompressed formats compress well — often by 70% or more. JPEG, PNG, MP4, MP3 and PDF are already compressed, so zipping them typically saves under 5% and occasionally makes them slightly larger. Zipping a folder of photos to get under a limit almost never works.