Do not embed video in email. Use a static image with a play button, linked to a page that hosts the video. That pattern renders in every client, keeps the message small, and moves the view to a page where you can actually measure it. The HTML5 <video> tag is supported by so few clients that it is only worth adding as a progressive enhancement, never as the primary experience.
Why real video barely works
Mail clients strip or ignore most of what video needs. Gmail removes <video> entirely. Outlook on Windows renders HTML through the Word engine, which has no concept of video. Webmail clients sanitise HTML aggressively because an autoplaying media element is an attack surface. On top of that, a video file inside a message makes the message enormous, and large messages get truncated, deferred or rejected.
| Approach | Where it renders | Risk | Verdict |
|---|---|---|---|
| Static thumbnail + play overlay, linked out | Everywhere | None | Use this |
| Animated GIF preview, linked out | Everywhere, first frame only on Outlook Windows | Message weight | Good second step |
HTML5 <video> with image fallback | Apple Mail (macOS, iOS), some Thunderbird builds | Fallback must be perfect | Optional enhancement |
| Video file as an attachment | Nowhere useful | Size limits, spam scoring | Never |
| Embedded YouTube iframe | Nowhere | Stripped by every client | Never |
The thumbnail method
- Export a frame from the video that shows a face or a readable screen, at roughly 1200px wide for retina, then scale it to your email width with the
widthattribute. - Composite a play triangle onto the image itself. Do not rely on a CSS-positioned overlay; positioning breaks in Outlook.
- Compress to JPEG, aiming for under 100KB.
- Wrap it in a link to a landing page with the video and a single call to action.
- Give it real alt text that says what the video is, not "video thumbnail" — Outlook desktop blocks remote images by default, so for a meaningful share of your audience the alt text *is* the email.
- Put a text link directly below the image saying "Watch the 2-minute demo", so an image-blocked reader still has something clickable.
<a href="https://example.com/demo?utm_source=email">
<img src="https://links.example.com/img/demo-thumb.jpg"
width="600" alt="Two-minute demo: setting up warm-up on a new mailbox"
style="display:block;border:0;max-width:100%;height:auto;" />
</a>
<p style="margin:8px 0 0;font:16px/1.4 Arial,sans-serif;">
<a href="https://example.com/demo?utm_source=email">Watch the 2-minute demo</a>
</p>The GIF fallback
A short animated GIF — two or three seconds, cropped tight, looping once or twice — gives the impression of motion without any video support. The rule that governs the whole technique: Outlook on Windows displays only the first frame. Whatever the reader must see (the product, the offer, the play button) has to be in frame one, with no text that only makes sense after the animation.
Keep the file under about 1MB, ideally under 600KB. Reduce the colour palette, cut the frame rate to 10–12fps, crop rather than scale, and shorten the clip before you start compressing quality.
The HTML5 video tag, if you insist
<video width="600" poster="https://links.example.com/img/demo-thumb.jpg" controls>
<source src="https://links.example.com/video/demo.mp4" type="video/mp4">
<a href="https://example.com/demo">
<img src="https://links.example.com/img/demo-thumb.jpg" width="600"
alt="Two-minute demo" style="display:block;border:0;" />
</a>
</video>Clients that do not understand <video> render the fallback content inside it — which is why the fallback must be a complete, linked thumbnail rather than a bare image. Never set autoplay. Host the MP4 with correct Content-Type and range-request support, encode H.264/AAC in an MP4 container, and expect it to play only in Apple Mail.
How video affects deliverability
The video is not the problem; the message is. Specific mechanisms:
- Gmail clips messages over roughly 102KB of HTML, hiding everything after the cut behind "View entire message" — including your unsubscribe link, which creates a compliance problem as well as a UX one.
- Heavy image payloads slow rendering and raise the chance a filter sees a message that is almost entirely images with little readable text.
- Attachments in bulk mail are scored harshly. A video attachment also hits per-message size limits, which commonly sit around 25MB at major providers but are often lower in practice.
- A new media host is a new link domain. Serving thumbnails and video from a free file host or a shortener puts an unknown or abused domain in your message. Serve from your own subdomain or a reputable CDN.
- Image-only emails with no text alternative lose both filters and image-blocked readers.
Hosting the video properly
Put the video on a page you control, on your own domain, with the video embedded from a real host (your CDN, or a video platform's player). Keep thumbnails on a subdomain you control — links.example.com or img.example.com — with its own CNAME, so the reputation of that hostname is yours. Add Cache-Control headers so repeat loads are cheap. Do not gate the video behind a form in the first email; make the watch free and ask afterwards.
Pre-send checklist
- Thumbnail under 100KB, play button baked into the image
- Alt text that reads as a sentence, not a filename
- A text link below the image for image-blocked clients
- Total HTML under about 100KB to avoid Gmail clipping
- Plain-text alternative part present, with the video URL in it
- Rendered and checked with images blocked, in Outlook on Windows, and on a phone
- GIF, if used, carries the message in frame one
- All image, video and link hostnames are domains you control
Mistakes that cost you
- Relying on
<video>as the primary experience. - Putting the offer in a late GIF frame that Outlook will never show.
- A 4MB GIF because nobody checked the export settings.
- Autoplaying anything, especially with sound.
- A thumbnail with no play affordance, so nobody realises it is a video.
- Hosting assets on a free image host with an unknown reputation.
- Measuring "video views" from email opens rather than from landing-page plays.
MailPilot does not render your HTML, but it tells you whether the message arrived where you intended: it measures real inbox placement per provider with a seed-inbox network and tracks per-mailbox reputation daily, so a media-heavy campaign that starts landing in Promotions or spam shows up as data rather than as a guess.
Ready to reach the inbox every time?
Automated email warmup across real peer mailboxes. Live inbox placement monitoring. Free 7-day trial - no credit card required.
Start free trial