Compress images for email attachments
You have a photo you need to email, but it is too large for the attachment limit and the message bounces back. That single frustration — the 48MP iPhone shot that clocks in at 28MB, the contractor invoice scan that nobody can receive — is the whole reason this tool exists. Drop your image here, pick a quality level, and download a version that fits inside any inbox. Everything runs locally in your browser, so even sensitive photos never leave your device.
Compress now →Why email providers cap attachments
Email was designed in an era of dial-up connections and small hard drives. The SMTP protocol itself has no theoretical attachment limit, but every mail provider sets a practical cap to control server storage costs, prevent spam abuse, and protect recipients whose mailboxes might overflow. The caps vary more than most people realise. Gmail allows 25MB total per outgoing message. Outlook.com and Hotmail cap incoming and outgoing at 20MB. Yahoo Mail allows 25MB. Apple Mail over a standard IMAP account caps at 20MB, though iCloud Mail Drop sidesteps this by converting large attachments into a download link (up to 5GB). ProtonMail Free limits attachments to 25MB per message; ProtonMail Plus raises that to 100MB per message. Corporate Microsoft Exchange servers are the most restrictive of all — IT administrators typically set limits between 10MB and 25MB depending on company policy, and many enterprise environments default to 10MB or lower to contain storage costs. The safest rule of thumb: keep any single attachment under 10MB if you do not know what mail system your recipient is using. Under 5MB is better for anything going to a corporate address.
Format choice: JPG for photos, PNG for screenshots
Choosing the right output format makes a bigger difference than most people expect. JPG (or JPEG) is the right choice for photographs — holiday snaps, product shots, portraits, anything with continuous colour and gradual tonal variation. At quality 75, mozJPEG produces files that are 80–90% smaller than the original with changes that are invisible at normal viewing size. PNG is the right choice for screenshots, diagrams, and anything that contains sharp text or flat areas of solid colour — PNG compresses those patterns more efficiently than JPG and avoids the blocky artefacts JPG introduces around hard edges. One specific case worth calling out: iPhone HEIC photos. Every photo your iPhone takes is stored internally as HEIC (High Efficiency Image Container). Android phones can open HEIC files and so can macOS Ventura and later, but Outlook for Windows does not render HEIC attachments inline — recipients see a generic file icon instead of a visible photo. Before emailing any iPhone photo to a Windows Outlook user, convert it to JPG first. This tool handles that conversion in the same step as the compression.
How to shrink a photo to fit an email cap
The entire process runs inside your browser using WebAssembly — the codec runs on your CPU, not on a server. A 48MP iPhone JPG at ~28MB compresses to roughly 4MB at quality 75, safely below every provider's limit:
- Click "Compress now →" above, or drag your photo directly onto the drop zone on the homepage. Any common format works as input — JPG, PNG, HEIC, WebP, or AVIF.
- Choose JPG as the output format for photos. JPG is universally supported across every email client — Gmail, Outlook, Apple Mail, Yahoo Mail, and every corporate mail system. If you are compressing a screenshot or a document scan with sharp text, choose PNG instead.
- Set the quality slider to 75. At quality 75, mozJPEG typically reduces a 28MB iPhone JPG down to roughly 4MB — well within every provider's limit. The output will look identical to the original at normal email-viewing size. Drop to quality 50 if you need to go smaller; raise to quality 85 if the image contains fine text or small printed details you need to preserve.
- Check the output file size displayed in the preview panel. If it is under 10MB you are safe for virtually every inbox. Under 5MB is the safest choice for corporate addresses where the IT-enforced limit may be as low as 10MB.
- Click the download button. The compressed file saves to your Downloads folder with the original filename. Attach it to your email as you normally would. Because the conversion ran locally, your original photo remains untouched on your computer — you always have the full-resolution version.
File size at each quality setting — fits or exceeds the 20MB Outlook cap
Measurements from a 48-megapixel iPhone 15 Pro photo. All JPG outputs use mozJPEG. WebP output uses libwebp. Original HEIC size as reported by iOS Files app.
| Source | Format | Quality | File size |
|---|---|---|---|
| 48MP iPhone HEIC | HEIC (original) | — | ~12 MB — fits Outlook 20MB |
| 48MP iPhone HEIC | JPG (re-export at full res) | q90 | ~28 MB — EXCEEDS Outlook 20MB |
| 48MP iPhone HEIC | JPG (mozJPEG) | q75 | ~4.2 MB — fits all providers |
| 48MP iPhone HEIC | JPG (mozJPEG) | q50 | ~1.7 MB — fits all providers |
| 48MP iPhone HEIC | WebP (libwebp) | q75 | ~2.9 MB — fits all providers |
When to use a file-share link instead
Compression is the right solution when you have one or two photos to send and the recipient expects an attachment they can save or print locally. It is not always the right solution. If you are sending five or more photos from a holiday album, compressing each one individually and attaching them all to a single email will likely still exceed the 25MB total-message limit. Attaching 20 photos is also genuinely inconvenient for the recipient — most mail clients display a long list of attachments rather than an inline gallery. The better choice for photo collections is a file-share link. Apple's iCloud Mail Drop converts large attachments automatically into a 30-day download link when you send from the Mail app on macOS or iOS. WeTransfer allows free transfers up to 2GB with no account required, and the recipient gets a clean download page. Dropbox and Google Drive both support shareable links, and the links open in a browser that renders a gallery view for photo collections. For very large source files — raw images above 50MB, multi-page scans, or any video — a file-share link is always the better choice. No compression can bring a 300MB RAW file below a 20MB email cap without visible degradation, and even if it could, a 20MB attachment is still a burden on the recipient. Compress for convenience; share links for volume.
Under the hood: which codecs are used
JPG compression uses mozJPEG, Mozilla's optimised JPEG encoder maintained at github.com/mozilla/mozjpeg. mozJPEG applies a trellis quantisation pass that finds better quantisation tables than the classic libjpeg, producing files that are typically 10–15% smaller than libjpeg at the same quality setting. At quality 75, mozJPEG preserves perceptually important detail in faces, foliage, and fine texture while aggressively reducing the byte cost of smooth skies and flat backgrounds — which is exactly the right trade-off for photos destined for email. WebP compression uses libwebp, the reference WebP implementation developed at Google, maintained at chromium.googlesource.com/webm/libwebp. WebP generally produces smaller files than JPG at equivalent visual quality, though JPG remains a safer choice for email attachments because some older mail clients do not display WebP inline. Both codecs compile to WebAssembly and run inside a Web Worker in your browser. The encode step never makes an outbound network request — your photos stay on your machine from the moment you drop them to the moment you download the result.
FAQ
What's the actual attachment size limit for Gmail, Outlook, and Apple Mail?
Gmail allows 25MB total per outgoing message (all attachments combined). Outlook.com and Hotmail cap at 20MB per message. Yahoo Mail allows 25MB. Apple Mail over standard IMAP is typically 20MB; iCloud Mail Drop on Apple devices converts large attachments into a 30-day download link up to 5GB. ProtonMail Free is 25MB per message, ProtonMail Plus is 100MB. Corporate Microsoft Exchange servers are set by IT administrators and typically range from 10MB to 25MB, with 10MB being a common enterprise default. When in doubt, keep your attachment under 10MB.
Why does my iPhone photo look fine on my iPhone but bounce when I email it to an Outlook user?
Two separate issues can cause this. First, when you tap "Share" and then "Mail" from the Photos app on iOS, it offers to reduce the image size — but if you choose "Actual Size" or the photo is already large, the resulting JPG can exceed 20–25MB. Second, if the attachment is a HEIC file (iPhones store photos in HEIC by default), Outlook for Windows does not render HEIC inline at all — the recipient sees a generic attachment icon and may assume the file is broken even if they could technically open it with a separate viewer. The fix for both problems is to convert the photo to JPG and compress it before attaching.
Will my recipient need to convert the file back to the original?
No. A JPG compressed at quality 75 is a standard JPG — the recipient can open it in any image viewer, photo app, or editing tool on any operating system without any conversion. The file will look identical to the original at normal viewing size. The only permanent change is that some detail has been removed by the lossy compression, which is invisible until you zoom in to pixel level. Your original file remains untouched on your computer.
Should I strip EXIF data (GPS location, camera info) before emailing a photo?
EXIF metadata embedded in your photos can include the precise GPS coordinates where the photo was taken, the exact timestamp, your camera or phone model, and sometimes even the lens serial number. If you are emailing a photo to someone you do not know well — a marketplace buyer, a potential client, a contractor — stripping EXIF data is a reasonable privacy step. The current version of this tool preserves EXIF data in the output so the recipient gets all the original metadata. If you need to strip location data before emailing, open the image in your operating system's built-in photo editor (Photos on macOS, Photos on Windows 11) and use the "Remove location data" option before attaching.
What quality setting should I use to fit under the 20MB Outlook limit?
For most iPhone photos, quality 75 is sufficient. A 48MP iPhone photo exported as a full-resolution JPG at quality 90 is typically around 28MB. The same photo at quality 75 with mozJPEG is roughly 4MB — well under 20MB. If you are starting with a very high-resolution RAW export or a professional camera file that is already 80MB or larger, quality 50 or even lower may be necessary. Check the output file size in the preview panel before downloading; the goal is under 10MB for reliable delivery to all mail systems.
Why not just use the image compression built into Outlook?
Outlook for Windows offers a "Compress pictures" option in the Picture Format ribbon, which appears when you insert an inline image into the message body — not when you add it as a file attachment. If you need a photo as a proper downloadable attachment (not an inline image), Outlook's compression option does not apply. Outlook's compression also gives you only three crude presets (email, web, print) with no quality slider, no choice of output format, and no preview of the result before you send. Compressing the photo yourself before attaching it gives you full control over the quality and file size, and lets you verify the result looks correct before the email leaves your outbox.
Does this preserve the original file on my computer?
Yes, completely. The tool reads your file into the browser's memory, compresses it using WebAssembly, and saves the result to your Downloads folder as a new file with a separate name. Your original photo on disk is never touched, modified, or deleted. If you do not like the compressed result, simply try a different quality setting — your original is still exactly where it was.
Do my photos get uploaded anywhere?
No. The compression runs entirely inside your browser using WebAssembly. You can verify this yourself: open your browser's developer tools, go to the Network tab, then start a compression. You will see zero outbound data requests during the encode step — only the initial page load fetched the app and codec files. There is no server receiving your images, no account to create, and no logging of what you compress. Photos of medical records, legal documents, or anything private stay on your machine.
Can I batch-compress 30 photos from a vacation album?
The current workflow processes one file at a time. For compressing a set of photos, open /convert in multiple browser tabs and process them in parallel — each tab runs an independent WebAssembly instance. For large collections it may be quicker to use a file-share link (iCloud Mail Drop, WeTransfer, or Google Drive) rather than compressing each photo individually, especially if the recipient just wants to browse the album rather than save every image locally. True batch compression with a queue and bulk download is on the roadmap.
Why is my iPhone photo so much larger as a full-resolution JPG than as the original HEIC?
HEIC uses the HEVC (H.265) video codec to compress still images. HEVC is significantly more efficient than JPEG — it can represent the same image quality in roughly half the bytes that JPG requires. When you export a HEIC as a full-resolution JPG from the Photos app on iOS or macOS, the system uses a high-quality JPEG setting (typically equivalent to quality 90–95) to avoid visible quality loss, which produces a JPG that is often twice or three times the size of the original HEIC. The HEIC was the right format for storage on your device; the JPG at quality 75 from this tool is the right format for emailing — typically 4–5MB for the same 48MP photo.