video-compressionemailautomation

How to Compress Video for Email (Gmail and Outlook 25 MB Limit)

·FFmpeg Micro Team·7 min read
How to Compress Video for Email (Gmail and Outlook 25 MB Limit)

The 25 MB wall that kills video in email

You record a screen demo or a product clip, hit attach in Gmail, and get bounced: the file is too big to send. Gmail caps attachments at 25 MB, Outlook.com caps them at 20 MB, and a 60-second 1080p screen recording is often 80 to 150 MB. If you send video through email as part of a sales or marketing pipeline, that wall breaks the whole flow.

The usual fix is to open a desktop tool, drag the file in, wait, and re-upload. That works once. It does not work when a Zapier or n8n workflow needs to compress every new recording before it goes out.

Why the limit exists and what actually counts against it

Gmail's 25 MB ceiling is the total size of the message, including all attachments and their encoding overhead. Because email attachments are Base64-encoded, they inflate by roughly 33% in transit. So a file that shows as 24 MB on disk can push the message past 25 MB and bounce. Aim for about 18 to 20 MB of actual video to stay safe.

Each major provider draws the line differently:

ProviderAttachment limitOver the limit
Gmail25 MBUploaded to Google Drive as a link
Outlook.com20 MBPrompts a OneDrive link
Outlook desktop (Exchange)20 MB defaultOften raised by admins

Google Drive and OneDrive links are the escape hatch, but links get lower open rates in cold outreach, land in spam filters more often, and add a click. For a demo you want a prospect to actually watch, an inline or attached clip under the limit converts better. Compression is the real answer.

Compress video for email: the manual way vs the API way

The generic advice you find ranking for this query is "use HandBrake" or "use Clipchamp." Both are fine desktop tools. Neither fits an automation.

The manual way (HandBrake, Clipchamp, VLC):

  1. Download and open the app.
  2. Load the video, pick a preset, guess at a quality slider.
  3. Export, check the file size, re-export if it's still too big.
  4. Manually attach the result and send.

Every step is a human sitting at a laptop. It doesn't scale to a marketing team sending dozens of clips a week, and it can't run inside an automated sequence.

The API way (one call inside your pipeline):

You send the video to a compression endpoint, get back a smaller file, and attach it, all without a server or an FFmpeg install. FFmpeg Micro exposes exactly this as the FFmpeg API: submit a job, poll or receive a webhook, download the output.

curl -X POST https://api.ffmpeg-micro.com/jobs \
  -H "Authorization: Bearer $FFMPEG_MICRO_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": "https://files.example.com/demo.mov",
    "operation": "transcode",
    "options": {
      "codec": "h264",
      "crf": 28,
      "max_width": 1280
    }
  }'

The parameters that matter for email are the codec, the quality target, and the resolution. See the docs for the exact request shape. The concepts below carry over whether you call it from code or from a no-code tool.

The three levers that shrink a video

  • Codec. H.264 (libx264) is the safe default; every mail client and browser plays it. H.265/HEVC compresses about 40% smaller at the same quality but has spottier playback, so stick with H.264 for email attachments.
  • CRF (Constant Rate Factor). This is the quality dial for H.264. Lower is bigger and sharper, higher is smaller. The range is 0 to 51; 23 is the default, and 26 to 30 is the sweet spot for a screen or talking-head clip headed to email.
  • Resolution. Downscaling 1080p to 720p cuts pixel count by more than half before the codec even runs. For a clip watched in an email preview pane, 720p looks fine.

Combine a CRF of 28 with a 720p downscale and most 1080p clips land under 20 MB without looking rough. If you need a hard size ceiling, two-pass encoding to a target bitrate is the reliable route, since CRF alone doesn't guarantee an exact output size. The same idea drives optimizing videos for the web: pick the quality you can live with, then let the encoder hit it.

Automate video compression before send in Zapier, n8n, or Make

This is where the API earns its keep. Because FFmpeg Micro works with n8n, Make, and Zapier, you can drop a compression step into an existing email workflow.

A content-repurposing or outreach flow looks like this:

  1. Trigger. A new video lands in Google Drive, Dropbox, or a form upload.
  2. Compress. An HTTP step calls the FFmpeg Micro job endpoint with H.264, CRF 28, and a 1280px cap.
  3. Wait for the result. Use a webhook or a short poll until the job returns a download URL.
  4. Send. Pass the compressed file to the Gmail or Outlook step as an attachment.

No one opens HandBrake. Every video that enters the pipeline comes out under the limit, ready to attach. If you'd rather test the compression before wiring the whole thing up, the free tier lets you run a job and see the output size first.

Running this browser-side with something like ffmpeg.wasm hits a wall on larger files, which is where browser-side FFmpeg breaks and why a hosted job queue handles a 150 MB source without freezing a tab.

Common pitfalls when compressing for email

  • Forgetting the Base64 overhead. Compress to about 18 to 20 MB, not exactly 25, or the encoded message still bounces from Gmail.
  • Using H.265 for attachments. It's smaller, but a recipient on an older Outlook build may see a black frame. H.264 plays everywhere.
  • Leaving audio uncompressed. A WAV or high-bitrate AAC track can add several megabytes. Re-encode audio to ~128 kbps AAC, or drop it entirely if the clip doesn't need sound.
  • Not capping resolution. A 4K source stays large even at a high CRF. Downscale first.
  • Compressing on every send in a loop without a size check. Read the output size from the job response and only fall back to a Drive link when the file genuinely can't fit.

FAQ

What's the largest video I can attach in Gmail?

25 MB total per message. Anything larger triggers a Google Drive link instead of a true attachment. Target about 18 to 20 MB of video to leave room for Base64 encoding overhead.

Does compressing ruin the quality?

Not at the settings above. A CRF around 28 at 720p is visually clean for screen recordings and talking-head clips watched in an email preview. You lose quality you wouldn't notice at that viewing size.

Can I compress video for email without installing anything?

Yes. That's the point of an API. You call an endpoint with the file and get a smaller one back, so there's no HandBrake install, no FFmpeg binary, and no server to run. It works from code or from n8n, Make, and Zapier.

Why not just send a Google Drive or OneDrive link?

You can, and for very large files you should. But links get lower open rates in cold outreach and land in spam more often. For a demo you want watched, a compressed attachment under the limit performs better.

If your outreach or content pipeline keeps hitting the 25 MB wall, wire a single compression step in front of your Gmail or Outlook send and stop babysitting exports. Try a job free to see the output size on your own clip, then sign up when you're ready to automate it.

About FFmpeg Micro Team

Engineering Team at FFmpeg Micro

The FFmpeg Micro team consists of experienced software engineers, video processing experts, and developer advocates dedicated to making video processing simple and accessible for developers worldwide.

Video ProcessingFFmpegCloud ArchitectureAPI DevelopmentTechnical Writing

Ready to process videos at scale?

Start using FFmpeg Micro's simple API today. No infrastructure required.

Get Started Free