How to Reduce Image Size for Email Without Looking Bad
13 June 2026
👉 Just need the tool? Compress an image — runs in your browser, nothing uploaded.
If you remember one thing, make it this: resize the pixel dimensions first, then compress. A photo straight off a phone is often 4000+ pixels wide, far more than any screen or email window will ever show. Shrinking it to a sensible width does most of the work; compression mops up the rest. In that order, a 6 MB photo becomes a 250 KB photo that still looks crisp. Reverse the order and you get a small file that looks like mush.
The fast version, before the detail:
- A few inline photos in the message body? ~1600 px on the long edge, roughly 200-400 KB each.
- A dozen attachments people will download? ~2000-2400 px, ~500 KB-1 MB each, or send a link.
- A signature logo? Under 20 KB, PNG, sized for the exact pixels it displays at.
Why your email won’t send (the limits)
Every provider caps the total size of a message, and that cap covers everything: the body, embedded images, the signature, and all attachments combined. Attachments are also Base64-encoded for transit, which inflates them by at least 33% (closer to 37% once MIME headers and line breaks are counted). So a nominal “25 MB limit” is really an 18-19 MB ceiling of actual files on disk. Budget for it.
These numbers shift over time and vary by plan, so treat them as a starting point and confirm against your own account or IT policy:
| Provider / context | Approx. limit (total message) | Notes |
|---|---|---|
| Gmail (free + most Workspace) | ~25 MB send | Bigger files auto-insert as a Google Drive link; receives up to 50 MB |
| Outlook.com | ~25 MB | |
| Microsoft 365 / Exchange Online | 35 MB default, admin-configurable up to ~150 MB | The org’s setting, not yours, is what counts |
| Yahoo Mail | ~25 MB | |
| Apple iCloud Mail | ~20 MB | Mail Drop sends larger files as a link instead |
| Many corporate / on-prem Exchange | ~10 MB | Frequently the real bottleneck |
| Older / restrictive servers | ~5 MB | Still around in government, healthcare, legal |
The trap is that the smallest limit in the chain wins. You can send happily from Gmail’s 25 MB, but if the recipient sits behind a 10 MB gateway, the message bounces, or worse, gets silently quarantined and you never hear about it. When you don’t know the other end, assume 10 MB total and you’ll almost never get burned.
Resize first: it does the heavy lifting
A current phone camera shoots somewhere around 4032 x 3024 pixels. Nobody reads email at that resolution. An inline photo in a message body renders at maybe 600 px wide; even maximized on a laptop it rarely exceeds ~1500 px. You’d be sending several times the pixels anyone will ever see.
Pick a target width by use:
- Inline, “look at this” photos: 1200-1600 px on the long edge. Sharp on any screen.
- Photos the recipient might open full-size or print small: 2000-2400 px.
- Receipts, screenshots, reference shots: keep them readable, no larger than 1600 px, unless fine print matters, in which case go to 2000 px and don’t over-compress.
The math is why this works: halve an image’s width and height and you cut the pixel count to a quarter. That alone turns multi-megabyte files into a few hundred kilobytes before compression touches them.
A note on DPI: for anything viewed on a screen, the DPI/PPI tag in the file is irrelevant. Screens render by pixel dimensions, full stop. “300 DPI” only means something for print, where it interacts with the physical print size. Don’t waste time changing a DPI number to shrink an email image; change the pixel dimensions.
Then compress: choose the right format
With dimensions sane, the format and quality setting decide the final byte count and where quality survives or dies.
- JPEG for photographs. At quality ~75-80 the file is dramatically smaller and the loss is invisible in normal viewing. Below ~60 you start seeing blocky artifacts and color banding in skies. JPEG is lossy, so compress from the original; re-saving an already-compressed JPEG degrades it a little more each pass.
- PNG for screenshots of text, diagrams, logos, and anything with sharp edges or flat color. It’s lossless and keeps text crisp, but it’s a terrible fit for photos (the files balloon).
- WebP is roughly 25-30% smaller than JPEG at similar quality and is great for web pages, but unreliable in email. Classic Outlook on Windows and many corporate setups still won’t render it. For a file someone will save and forward, stay with JPEG or PNG.
- HEIC (the iPhone default) is efficient but poorly supported outside Apple’s ecosystem. Convert it to JPEG before sending to anyone on Windows or Android, or it’ll show as a file the recipient can’t open.
You can run the whole resize-then-compress pass in your browser with Compress an image. The work happens locally, nothing uploads to a server, which matters when the photos are personal or work-confidential.
Concrete targets by scenario
A few inline photos in the body. Say three or four shots of a finished room for a client. Resize each to ~1600 px, JPEG at ~80. You’ll land around 200-400 KB each, so the whole message stays well under 2 MB: quick to send, quick to load, sharp inline. Going smaller saves kilobytes and costs visible quality for no reason.
A dozen downloadable attachments. Twelve event or site-survey photos at 700 KB each is ~8.4 MB before encoding overhead pushes it over, already brushing a 10 MB corporate cap. Two clean options:
- Resize to ~2000 px and aim for ~500 KB each (~6 MB total). Comfortable everywhere.
- Keep them at higher quality and paste a shared Drive/Dropbox/OneDrive link instead. Past a handful of files, a link is genuinely the better experience: the recipient downloads once and you sidestep every size limit. Zipping JPEGs barely shrinks them (they’re already compressed), so zip for tidy one-click download, not for size.
One or two huge files (a 60 MB scan, a stitched panorama). Resizing may not be enough, and may not be acceptable if the detail is the point. Use a file-sharing link and stop fighting the attachment limit.
Signatures: keep them invisible by weight
A signature image rides on every message you send, so its size multiplies across all your correspondence and counts against each message’s budget.
- Use PNG for a logo with text or a transparent background; it stays crisp.
- Size the file to the exact pixels it displays at, then double for high-DPI screens. A logo shown at 150 px wide should export at ~300 px, not 1500.
- Aim for under 20 KB, ideally under 10. A clean logo fits easily.
- Don’t embed a headshot or banner unless it’s mandated. They bloat threads and often arrive as broken-image icons or stray attachments in the recipient’s client.
- Don’t stack social icons as separate images. Combine them into one small PNG strip, or skip them.
Mistakes that make images look bad
- Compressing without resizing. You crush a 4000 px image into a small file and get a soft, artifact-ridden result, when a smaller-but-clean version would look better at the same weight.
- Re-compressing the same JPEG repeatedly. Each pass bakes in more damage. Always go back to the original.
- Cranking quality down to hit an arbitrary number. If you need to shed bytes, resize further first. Fewer clean pixels beat many ugly ones.
- Sending PNG photos. A photographic PNG can be several times the size of an equivalent JPEG with no visible benefit.
- Forgetting the recipient’s limit. Your generous cap is irrelevant if theirs is 10 MB.
A default that almost never fails: resize to ~1600 px, JPEG at ~80, keep the whole message under 10 MB, and switch to a shared link the moment you’re past a handful of files. Provider limits and client support change, so confirm the exact numbers for the accounts involved before sending anything that matters.