CompressToFit

Compressing photos for email

A phone photo is 4–8MB and Gmail's real ceiling is about 18MB, so three pictures fill a message. Resize to 1600 pixels and the same message carries forty.

Updated 6 min read

Email was designed for text, and every attachment limit on it is a compromise. Gmail says 25MB. Outlook.com says 20MB. A corporate Exchange server says whatever the administrator set, which is often 10MB and sometimes less. And all of those are measured against the message as sent, not against the files you attached.

A modern phone photo is 4–8MB. Three of them and a Gmail message is over. The recipient needed none of those megabytes.

The real limits

Service Published limit Effective attachment total Why the gap
Gmail 25MB about 18MB Attachments are base64-encoded for transport, which adds 33%
Outlook.com 20MB about 15MB Same encoding; some servers also count headers
Corporate Exchange Often 10MB about 7MB Set per organisation; the bounce says the number

The encoding overhead is the thing nobody mentions on the help page. An 18MB attachment becomes a 24MB message, and MB versus MiB can take another 5% depending on who is counting. Aim at the effective figure, not the published one.

What a photo actually needs to be

Nobody reads email on a billboard. A photo in a message is viewed on a phone, a laptop, or at most a desktop monitor, and the largest of those shows about 2,500 pixels across. A 48-megapixel phone photo is 8,000 pixels across. The other 5,500 are discarded by the screen before anyone sees them.

Where it will be viewed Long edge needed Pixels Typical JPEG at q0.82
A phone 1200 1.1 MP 150–300KB
A laptop, inline 1600 1.9 MP 250–500KB
Full screen on a 4K monitor 2560 4.9 MP 500KB–1MB
For the recipient to print at 6x4 1800 3.2 MP 350–700KB
For the recipient to print at A4 2480 7.3 MP 800KB–1.5MB

For almost every email, 1600 pixels on the long edge is right. It fills a laptop screen, prints cleanly at postcard size, and lands at a few hundred kilobytes. Forty of them fit in one Gmail message. Why resizing comes before anything else: it is the only step that costs nothing visible when the result is still larger than the screen.

What the mail apps offer, and what they do not

iPhone Mail asks, when you attach photos from Photos, whether to send Small, Medium, Large or Actual Size, with the resulting total shown. Medium is roughly 1,000–1,500 pixels on the long edge. It is a sensible choice and the only built-in route that shows the number before sending. It does not apply to photos attached from Files, and it never applies to video.

Outlook for Windows offers, when a large image is attached, to "resize large images when I send this message", which shrinks to about 1,024 pixels. Fine for a snapshot, small for anything someone might print.

Gmail offers nothing. Attach an 8MB photo and it sends 8MB, or offers to put it in Drive when the message goes over. Google Photos, if the picture lives there, can share a link instead.

Android's share sheet varies by phone and app; Samsung's Gallery offers a resize prompt, stock Android often does not.

None of them takes a byte target, and none of them tells you the quality setting used.

Hitting a number

A photo for an email rarely needs an exact size, but the attachments as a group do: eight photos into 18MB is 2.2MB each, and twenty into the same message is 900KB each. When the arithmetic is tight, measuring beats guessing.

Compress an image to 500KB, to 1MB or to 200KB resizes to a sensible long edge first, then bisects the JPEG quality against the real byte count, about eight encodes of fifteen milliseconds each, and keeps the best result that measured under. Nothing is uploaded; a photo of your family or your passport does not leave the browser tab.

For a batch, the arithmetic is simply the effective limit divided by the count, rounded down to a size the tool offers.

The two mistakes

Converting HEIC to JPEG without resizing. An iPhone HEIC is efficient; converting it to JPEG at the same 8,000 pixels doubles the file. Why that happens is the single most common reason a photo that was 3MB on the phone arrives at the mail app as 6MB. Resize at the same time, and it becomes 400KB.

Zipping the photos. A JPEG is already compressed, and a ZIP of ten JPEGs is about 1% smaller than the ten JPEGs. The archive helps only with the attachment count, never with the size.

The arithmetic, worked

Twelve 48MP HEIC photos from a holiday, 3.5MB each, to go in one Gmail message:

As attached:        12 x 3.5MB = 42MB        far over
Converted to JPEG:  12 x 7MB   = 84MB        worse
Resized to 1600px, JPEG q0.82:
                    12 x 420KB = 5MB         fits, with room for forty

The last row looks identical on every screen the recipient owns and prints at postcard size without complaint.

When not to compress

If the recipient is going to print large, crop, or edit the photo, they want the original. Then email is the wrong transport: a shared album, a cloud folder or a transfer service carries the full file without encoding it into a message. Email is for the version meant to be looked at.

FAQ

What size should a photo be to email it?

Around 1600 pixels on the long edge, saved as JPEG at quality 0.80–0.85, which lands between 250KB and 500KB. That fills a laptop screen, prints at postcard size, and allows forty photos in a single Gmail message against its effective 18MB ceiling. Only send larger if the recipient will print at A4 or edit the file.

Why does Gmail say my attachment is too large at 20MB?

Because Gmail's 25MB limit applies to the message as transmitted, and attachments are base64-encoded for transport, which adds about a third. A 20MB attachment becomes a 27MB message. The effective ceiling for attachments is roughly 18MB, and the same encoding applies to Outlook and every other mail service.

Does reducing photo size for email lose quality?

Resizing to larger than the screen that will display it loses nothing visible, because the screen discards the extra pixels anyway. Encoding at JPEG quality 0.82 removes mostly sensor noise. Together they take an 8MB phone photo to around 400KB with no change anyone can see on a phone or a laptop. The original stays on your device at full size.

How do I send a lot of photos by email?

Resize each to about 1600 pixels and 400KB, which fits forty in one Gmail message, or split across messages at the effective 18MB each. For hundreds of photos, or for originals someone will print or edit, use a shared album or a cloud link instead; email encodes every attachment into the message body and is the least efficient way to move large files.

Do it now, in this tab

Each of these opens the tool with the target already set. It runs on your own machine — nothing is uploaded, there is no watermark and no signup, and the output is measured before you get it.