A quick note on accuracy
Platforms change their limits without much announcement, so treat the numbers below as reliable as of 2026 and double-check in the app if something critical depends on them. The good news: the fix is always the same — compress to a target size before you upload.
Why do these limits exist?
Size caps are not arbitrary — they protect shared infrastructure. Email servers must store and forward every attachment, chat apps pay for bandwidth on every resend, and social networks recompress each upload into half a dozen sizes for different devices. Limits also nudge people away from accidentally sharing 25 MB originals when a 300 KB version would do. Work with the system: send a right-sized file and everything is faster for both sides.
When you do not know the limit
Uploading somewhere new — a job portal, a government form, a contest entry? When the limit is not published, aim for under 1 MB: virtually no web form rejects a file that small, and a 1 MB photo still looks sharp on screen. If the form also caps dimensions (common for ID photos and avatars), resize to the required pixels first, then compress. And keep the original — if the upload turns out blurry, you can always redo it larger.
The two numbers that matter: bytes and pixels
Platforms limit file size (bytes), dimensions (pixels), or both — and they are independent problems. A 100 KB image can still be rejected for being 8000 pixels wide; a 1600-pixel image can still be rejected at 8 MB. Always check which limit you are hitting: if the error mentions dimensions or megapixels, resize; if it mentions MB or KB, compress. Fixing the wrong one wastes your time.
The limits table
| Platform | Limit | What happens / notes |
|---|---|---|
| Gmail | 25 MB per message | Encoding overhead means ~18 MB of real files; keep total under 10 MB to be safe. |
| Outlook.com | ~20 MB per message | Desktop Outlook limits are set by IT policy, often 20–25 MB. |
| Yahoo Mail | 25 MB per message | Same encoding catch as Gmail. |
| Apple Mail | 20 MB (or 5 GB via Mail Drop) | Mail Drop sends a download link rather than a true attachment. |
| Auto-compresses photos | Sent as "photo" they are downscaled; send as document for full quality (up to 2 GB). | |
| Discord | 25 MB per file (free) | Nitro raises this substantially; over-limit files are rejected outright. |
| Around 30 MB per photo | Feed photos are recompressed anyway; stories get heavy compression — pre-compress for control. | |
| X (Twitter) | Around 5 MB per photo | GIFs up to ~15 MB; over-limit uploads fail. |
| Around 30 MB per photo | Aggressively recompresses; uploading a sensibly-sized file gives cleaner results. | |
| iMessage / SMS | ~1–3 MB via MMS | Carrier-dependent; iMessage itself is generous but MMS fallback is not. |
| WordPress | Set by your host | Often 2–64 MB; check Media → Add New for your site's number. |
| Shopify | 20 megapixels / 4472×4472 px | Oversized images are rejected; resize first with the Image Resizer. |
How to fit under any limit
Forget guessing quality sliders — compress to an exact target size:
- Email (stay under 10 MB total): 500 KB per photo, or 200 KB for batches.
- Discord / forums (25 MB cap): 1 MB keeps quality high with huge headroom.
- WhatsApp document mode: compress to 500 KB first so "full quality" does not mean a 6 MB upload on mobile data.
- Web uploads generally: 200 KB loads fast and looks great.
- Dimension caps (Shopify etc.): resize to the required pixels, then compress.
Why pre-compressing beats letting the app do it
When you upload an oversized image, platforms recompress it with their settings — often harshly and unpredictably. Compressing it yourself first, to a size you chose, means you control the quality/size trade-off and the upload goes through first try. It also uploads faster, which matters on mobile connections.