What are inline attachments?

Still have a question, spotted an error, or have a better explanation or a source we should cite?

An inline attachment is an image (or other file) that displays directly in the email body, not as a downloadable file at the bottom. You see the logo, the product photo, the header image right there in the message. That's inline.

How they work: the image travels inside the email as encoded data, referenced by a Content-ID (a unique identifier like cid:logo@yourcompany.com). Your HTML uses that Content-ID to place the image exactly where you want it. The recipient's email client decodes it and renders it inline.

This is different from linking to an externally hosted image (like <img src="https://yourwebsite.com/logo.png">), which most email clients block by default. Inline attachments bypass that initial block because the image is already part of the message.

When inline attachments make sense: transactional emails where you absolutely need the logo or invoice to appear immediately, no matter what. Password reset emails from Postmark often use inline images for the company logo so branding shows up even with images disabled.

When they don't: marketing emails with lots of photos. Inline attachments make the email file size massive, which can trigger spam filters and slow down delivery. Hosting images on a CDN and linking to them is usually the better move for newsletters.

Still the deliverability trade-off: inline attachments add weight to your message. A 2MB email with six inline photos will take longer to send, longer to receive, and might hit size limits at some mailboxes (some caps are as low as 10MB total). If your inline images push the message over those limits, it bounces.

Most ESPs (Mailchimp, Klaviyo, Brevo) host your images automatically and don't use inline attachments at all. They optimize delivery by keeping the email small and letting the client fetch images from their CDN. That's usually the right call for marketing.

And if you're building custom transactional emails and want inline images, keep them small (under 100KB each), use only what's essential (logo, maybe a button), and test across clients. Litmus or Email on Acid will show you how different inboxes handle them.

Next step: if you're troubleshooting why an image isn't showing up inline, check your MIME structure with our Source Analyzer. You'll see whether the Content-ID matches your HTML reference.

Contributors

Who worked on this answer

Every name links to their profile. Every company links to their site. Real people, real accountability.

Ask an AI · tailored to your setup

Get personalized advice for your setup

I read this on the Email Almanac about inline attachments: "Inline attachments are images that display directly in the email body using Content-ID references. They bypass external image blocking but add file size, which can slow delivery and trigger spam filters if overused." Help me figure out if inline attachments are right for MY situation: 1. Should I use inline attachments or host images externally for my email type? 2. How do I check if my ESP is using inline attachments or CDN-hosted images? 3. What's the practical file size limit I should stay under per inline image? 4. How do I test if inline images are rendering correctly across Gmail, Outlook, Apple Mail? --- My details: - Email platform/ESP: e.g. Mailchimp, custom SMTP, Postmark - Email type: [marketing newsletter, transactional receipts, password resets] - Current image setup: inline attachments, externally hosted, not sure - Average email file size: if known - Specific issue: images not showing, emails bouncing, slow delivery

Edit the yellow boxes, then send to the AI of your choice.