Photo Too Large to Email? Here's What Actually Works
You attach a photo, hit send, and the message bounces back: attachment too large. The infuriating part is that the file was 24 MB and your provider says the limit is 25 MB. It should have fit.
It didn't fit because the number your email client shows you and the number the mail server measures are not the same number. Once you know why, the fix stops being guesswork.
Your attachment gets bigger on the way out
Email was designed to carry text. A photo is not text, so before it can travel it gets re-encoded into something that is — a scheme called base64, which rewrites every three bytes of the file as four characters of plain ASCII.
Four bytes where there were three. That's an increase of exactly 33.3%, and it isn't an implementation detail anyone can optimise away; it's arithmetic, and it applies to every attachment on every provider.
So the real ceiling is lower than the advertised one:
| Advertised limit | Largest file that actually fits |
|---|---|
| 10 MB | ~7.5 MB |
| 20 MB | ~15 MB |
| 25 MB | ~18.7 MB |
| 35 MB | ~26 MB |
Providers differ on whether their published figure refers to the encoded message or the raw file, and most don't say. Treating the advertised number as roughly three-quarters of itself is the assumption that stops you guessing.
That single fact explains most "but it's under the limit!" bounces. Your 24 MB photo left as roughly 32 MB.
The limits themselves
Approximate, and worth checking against your own provider since they change:
| Provider | Limit |
|---|---|
| Gmail | 25 MB |
| Outlook.com | 20 MB |
| Yahoo Mail | 25 MB |
| iCloud Mail | 20 MB |
| Proton Mail | 25 MB |
| Corporate Exchange | often 10–35 MB, set by an admin |
The recipient's limit counts too, and it's the one you can't see. A message has to be accepted by the server at the other end, and the smaller of the two limits is the one that decides. Sending from a 25 MB provider to someone whose company mail server cuts off at 10 MB means your working limit is 10 MB — about 7.5 MB of actual photo. If a message sends fine to one person and bounces for another, this is almost always why, and no amount of re-sending will change it.
What actually gets a photo under the limit
In order of how much they help.
Resize the dimensions
This is the big lever and the one people skip, because it feels like the destructive option. It usually isn't.
A modern phone photo is somewhere around 4000 pixels wide. Nobody is going to view your emailed photo at 4000 pixels — they'll open it on a laptop screen that's 1500 pixels wide, or a phone that's narrower still. Every pixel beyond what the screen can show costs file size and buys nothing.
Halving the width to 2000 pixels cuts the pixel count to a quarter, and the file roughly follows. That is a far bigger reduction than any quality setting will give you, and at normal viewing size the result is genuinely indistinguishable — you removed detail nobody was going to see.
Go to 1600 pixels wide if it's a photo someone will simply look at. Keep the full resolution only if they're going to print it, crop into it, or examine it closely.
Then compress, or change format
Once the dimensions are sensible, compression handles the rest. Dropping a JPEG's quality setting from maximum to around 80 typically halves the file again with no visible difference at viewing size — most cameras save at a quality far higher than a photo being emailed needs.
If the photo is a PNG, this is where your problem is. PNG stores photographs pixel by pixel with no lossy compression, which makes it enormous for photographic content — converting one to JPG routinely cuts 80–90% off. That single change usually solves the whole problem on its own. Our PNG to JPG converter does it in the browser without uploading anything.
If the recipient's setup is modern, converting to WebP saves another 25–35% at the same visual quality — though for an emailed file JPG is the safer choice, since a few older mail clients and photo viewers still won't preview a WebP inline.
And if the file came off an iPhone as HEIC, converting to JPG will make it larger, not smaller. That conversion buys compatibility, not size. Resize it instead.
Don't zip it
This is the most common suggestion and it is close to useless for photos.
ZIP compresses by finding repetition. A JPEG has already been compressed — finding and removing that repetition is precisely what the JPEG encoder spent its time doing — so there's nothing left for ZIP to work with. We measured it on a photographic JPEG: zipping saved between 0.3% and 1.1%. On a 24 MB attachment that's a couple of hundred kilobytes, against the several megabytes you need.
Zipping is still worth doing to bundle many photos into one attachment for tidiness. Just don't expect the bundle to be meaningfully smaller than the files that went into it.
Where ZIP does shine is uncompressed formats — a folder of BMP or TIFF files really will shrink dramatically. Those just aren't what comes off a phone.
Sending a lot of photos
The limit applies to the whole message, not to each file, so twelve 2 MB photos hit a 25 MB ceiling exactly as hard as one 24 MB photo.
Two approaches:
Split across several emails. Unglamorous, works everywhere, needs no accounts. Aim for well under the limit per message — remember the third that gets added.
Send a link instead. Above a certain volume this is the correct answer, not a workaround. Gmail offers to swap an oversized attachment for a Google Drive link automatically. Apple Mail does the same through Mail Drop, which handles up to 5 GB with links that expire after 30 days. OneDrive, Dropbox and WeTransfer all fill the same role.
The one thing links cost you is permanence — an expiring link is no good if the recipient needs the file in a year. For anything that has to stay retrievable, attach it properly at a size that fits.
From a phone
iPhone. Sharing from Photos to Mail prompts you to pick an image size — Small, Medium, Large or Actual Size — and choosing Medium or Large does the resizing described above for you. It's the fastest fix available and it's easy to tap past. If you need more control, or you're working with a HEIC that something downstream can't read, our converter runs entirely in Safari on the phone with nothing uploaded.
Android. Gmail generally doesn't offer to resize on the way out, so do it first — most gallery apps have a resize option under share or edit, or you can run the file through a converter before attaching.
The quick version
- Check what the file actually weighs, then add a third. That's what the server sees.
- If it's a PNG photo, convert it to JPG. Usually that's the whole fix.
- Resize to 1600–2000 pixels wide unless someone needs to print or crop it.
- Compress to around quality 80 if it's still too big.
- Don't bother zipping — we measured about 1%.
- Above 20 MB or so, send a link instead of fighting the limit.
Every step except the last runs in your browser here, on your own device, with nothing uploaded to anyone: compress and resize, PNG to JPG, JPG to WebP.
If the problem is a form on a website rejecting your photo rather than an email bouncing, that's a different set of causes — why iPhone photos won't upload covers those.