Email Image Optimization: The Complete Guide
Optimize images for email campaigns with this comprehensive guide. Learn format selection, size limits, retina support, and techniques that work across all email clients.
Email image optimization is fundamentally different from web optimization. You’re dealing with legacy rendering engines, aggressive image blocking, and strict size limits. This guide covers everything you need to know to optimize images for email campaigns.
Email vs. Web: Key Differences
| Factor | Web | |
|---|---|---|
| Modern formats | WebP, AVIF | JPEG, PNG, GIF only |
| Lazy loading | Supported | Not supported |
| srcset/sizes | Supported | Limited support |
| Max file size | Few MB OK | Under 100KB ideal |
| CSS support | Full | Limited |
| Image blocking | Rare | Common (40%+ block by default) |
Format Selection for Email
Use JPEG For
- Photographs
- Complex images with gradients
- Hero images
- Product photos
<img src="hero-image.jpg" alt="Summer collection now available" width="600">
Use PNG For
- Logos and branding
- Images requiring transparency
- Text-heavy graphics
- Icons and buttons
<img src="company-logo.png" alt="Acme Corp" width="200">
Use GIF For
- Simple animations
- Animated CTAs
- Cinemagraphs (use sparingly)
<img src="animated-cta.gif" alt="Click to shop now" width="300">
Never Use
- WebP (Gmail only, poor fallback)
- AVIF (no email client support)
- SVG (security blocked)
- BMP/TIFF (unnecessary size)
Size Guidelines
File Size Limits
| Email Component | Max File Size | Ideal Size |
|---|---|---|
| Hero image | 100 KB | 50-80 KB |
| Product image | 50 KB | 20-40 KB |
| Logo | 20 KB | 5-15 KB |
| Icon | 10 KB | 2-5 KB |
| GIF animation | 200 KB | Under 100 KB |
| Total email | 1 MB | Under 500 KB |
Dimension Guidelines
| Image Type | Desktop Width | Mobile Width |
|---|---|---|
| Full-width hero | 600px | 320px |
| Two-column | 280px | 280px |
| Three-column | 180px | 280px |
| Logo | 200px max | 150px max |
Retina/HiDPI Support
The 2x Technique
Export images at 2x dimensions, display at 1x:
<!-- 1200px image displayed at 600px for retina -->
<img
src="hero-1200.jpg"
alt="Summer sale"
width="600"
height="400"
style="display: block; max-width: 100%;"
>
File Size Trade-off
| Approach | Visual Quality | File Size |
|---|---|---|
| 1x only | OK on retina | Smallest |
| 1.5x | Good on retina | +50% |
| 2x | Sharp on retina | +100-150% |
Recommendation: Use 1.5x for most images, 2x only for logos and important graphics.
Email Client Compatibility
Support Matrix
| Client | JPEG | PNG | GIF | Background Images |
|---|---|---|---|---|
| Gmail | ✓ | ✓ | ✓ | ✓ |
| Apple Mail | ✓ | ✓ | ✓ | ✓ |
| Outlook 365 | ✓ | ✓ | ✓ | ✓ |
| Outlook Desktop | ✓ | ✓ | Static | ✗ |
| Yahoo | ✓ | ✓ | ✓ | ✓ |
| Samsung Mail | ✓ | ✓ | ✓ | ✓ |
Outlook Desktop Workarounds
Outlook uses Word’s rendering engine. For background images:
<!--[if gte mso 9]>
<v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:600px;height:400px;">
<v:fill type="tile" src="background.jpg" color="#ffffff"/>
<v:textbox inset="0,0,0,0">
<![endif]-->
<div style="background-image: url('background.jpg'); background-size: cover; width: 600px; height: 400px;">
<!-- Content here -->
</div>
<!--[if gte mso 9]>
</v:textbox>
</v:rect>
<![endif]-->
Image Blocking Strategy
Design for Image-Off
40%+ of email recipients have images blocked by default. Design emails that work without images:
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td style="background-color: #3b82f6; padding: 40px; text-align: center;">
<!-- Image with solid background fallback -->
<img
src="sale-banner.jpg"
alt="SUMMER SALE - 50% OFF EVERYTHING"
width="560"
style="display: block; border: 0;"
>
</td>
</tr>
</table>
Alt Text Best Practices
<!-- Bad: No context -->
<img src="banner.jpg" alt="Banner">
<!-- Good: Full message -->
<img src="banner.jpg" alt="Summer Sale: 50% off all outdoor furniture - Shop Now">
Styled Alt Text
Some clients support styled alt text:
<img
src="logo.png"
alt="ACME CORP"
width="200"
height="50"
style="font-family: Arial, sans-serif; font-size: 24px; font-weight: bold; color: #333333;"
>
Responsive Email Images
Fluid Images
<img
src="hero.jpg"
alt="New arrivals"
width="600"
style="display: block; width: 100%; max-width: 600px; height: auto;"
>
Mobile Optimization
<style>
@media screen and (max-width: 480px) {
.hero-image {
width: 100% !important;
height: auto !important;
}
.hide-mobile {
display: none !important;
}
}
</style>
<img
src="hero.jpg"
alt="Summer collection"
width="600"
class="hero-image"
style="display: block; max-width: 100%; height: auto;"
>
Art Direction (Desktop vs Mobile)
<!-- Desktop image (hidden on mobile) -->
<table class="hide-mobile" role="presentation">
<tr>
<td>
<img src="hero-desktop.jpg" alt="Shop summer styles" width="600">
</td>
</tr>
</table>
<!-- Mobile image (hidden on desktop) -->
<!--[if !mso]><!-->
<div class="show-mobile" style="display: none; max-height: 0; overflow: hidden;">
<img src="hero-mobile.jpg" alt="Shop summer styles" width="320">
</div>
<!--<![endif]-->
<style>
@media screen and (max-width: 480px) {
.hide-mobile { display: none !important; }
.show-mobile {
display: block !important;
max-height: none !important;
}
}
</style>
Optimization Techniques
JPEG Optimization for Email
# Using jpegoptim
jpegoptim --max=70 --strip-all hero.jpg
# Using ImageMagick
magick hero.jpg -quality 70 -strip -sampling-factor 4:2:0 hero-optimized.jpg
Quality guidelines for email:
- Hero images: 60-70%
- Product photos: 70-80%
- Small thumbnails: 60-65%
PNG Optimization
# Lossy compression for significant savings
pngquant --quality=65-80 logo.png -o logo-optimized.png
# Lossless optimization
optipng -o5 logo-optimized.png
GIF Optimization
# Reduce colors and optimize
gifsicle -O3 --colors 64 animation.gif -o animation-optimized.gif
GIF size reduction strategies:
- Reduce colors (256 → 64 or 32)
- Reduce frame rate
- Crop to essential area
- Shorten duration
Using Image CDNs for Email
Sirv provides email-friendly image delivery:
<!-- Sirv optimizes on-the-fly -->
<img
src="https://your-account.sirv.com/email/hero.jpg?w=600&q=70"
alt="Summer sale"
width="600"
>
<!-- Retina version -->
<img
src="https://your-account.sirv.com/email/hero.jpg?w=1200&q=60"
alt="Summer sale"
width="600"
>
Benefits:
- Automatic compression
- On-demand resizing
- Global CDN delivery
- Analytics and tracking
Testing Checklist
Pre-Send Testing
- All images under size limits
- Alt text is descriptive
- Images work with blocking enabled
- Retina images not too large
- GIFs play correctly
- Background images have fallbacks
- Mobile rendering is correct
Test in These Clients
- Gmail (web and mobile)
- Apple Mail (macOS and iOS)
- Outlook (365 and desktop)
- Yahoo Mail
- Samsung Mail
Tools
- Litmus - Multi-client preview
- Email on Acid - Rendering tests
- Mail Tester - Spam score including image issues
Common Mistakes
1. Images Too Large
<!-- Bad: 2MB hero image -->
<img src="hero-huge.jpg" width="600">
<!-- Good: Optimized -->
<img src="hero-optimized.jpg" width="600"> <!-- 60KB -->
2. Missing Dimensions
<!-- Bad: No dimensions = layout shift -->
<img src="product.jpg" alt="Product">
<!-- Good: Explicit dimensions -->
<img src="product.jpg" alt="Blue widget" width="280" height="280">
3. Relying on Images for Content
Don’t put critical information only in images—always have text alternatives.
4. Using Unsupported Formats
<!-- Bad: WebP not universally supported -->
<img src="hero.webp" alt="Sale">
<!-- Good: JPEG with optimization -->
<img src="hero.jpg" alt="Summer Sale - 50% Off">
Conclusion
Email image optimization requires:
- JPEG/PNG/GIF only - No modern formats
- Aggressive compression - Under 100KB per image
- Retina support - 1.5-2x export with 1x display
- Alt text strategy - Design for image-off viewing
- Client testing - Especially Outlook desktop
Use CDNs like Sirv to simplify optimization and ensure fast delivery across all email clients.