Blog how-to

How to send and compress video for iMessage (the HEVC hvc1 fix in 2026)

iMessage has no hard size cap but quality dies on big files anyway. Plus the HEVC hvc1 vs hev1 tagging trap that breaks iPhone-to-iPhone clips. The fixes.

iMessage looks like the easiest chat platform for sending video — no hard size cap, native HEVC support, just hit send. In practice it’s the trickiest. There’s a soft 100 MB ceiling that silently kicks files to Mail Drop links. There’s a HEVC tagging trap (hvc1 vs hev1) that breaks inline playback on Macs even when the file is technically valid. And there’s a Low Quality Image Mode toggle most users don’t know they have on.

This guide is the practical version: what the actual limits are, why your HEVC videos sometimes won’t play, and the click path to fix it.

TL;DR

iMessage has no published per-file cap, but the practical ceiling is around 100 MB before Apple shoves the message through Mail Drop instead of inline. To send video that plays inline on every Apple device at maximum quality per byte: HEVC (H.265), 1080p, CRF 22, AAC audio at 192 kbps, with the hvc1 codec tag. The hvc1 part is the bit that trips everyone up.

In Video Forge: drop the file, pick the iMessage tile, hit Convert. The app picks H.265 at the right bitrate, sets the hvc1 tag, and suffixes the output _imessage.mp4. Sender quality survives, recipient sees inline playback on every Apple device.

The size limits (such as they are)

Apple doesn’t publish a hard per-file cap for iMessage video. The practical limits, as of May 2026:

ChannelBehavior
Inline iMessage videoWorks reliably up to ~100 MB. Larger files trigger Mail Drop silently.
Mail Drop fallbackFree iCloud link share, 5 GB ceiling, 30-day expiry. Recipient gets a link instead of inline playback.
SMS/MMS fallback (green bubble)1.5 MB on most US carriers, less elsewhere. iMessage falls back to SMS when the recipient isn’t on iMessage.
Low Quality Image ModeSettings → Messages → Low Quality Image Mode. When on, all sent media is aggressively recompressed.

The 100 MB Mail Drop threshold is the practical ceiling. Below it, iMessage usually transmits the original file with minimal recompression. Above it, the inline experience breaks: the recipient sees a clickable link instead of a video that plays in the chat.

If you really want inline-playable video on iMessage, stay under 100 MB.

The HEVC tagging trap

This is the most common iMessage video bug, and the most invisible.

HEVC (H.265) video can be tagged in an MP4 container two ways:

Both are technically valid. ffmpeg, VLC, MPV, and most modern players handle both. Apple’s stack does not. A hev1-tagged HEVC file opened in iMessage on macOS shows a black thumbnail and won’t play inline. The same file plays fine in VLC. Confusing.

The fix is a single ffmpeg flag during transcode:

ffmpeg -i input.mov -c:v copy -tag:v hvc1 output.mp4

That rewrites the codec tag without re-encoding the video stream — takes seconds, lossless. The video stream itself is unchanged; only the container’s codec identifier is updated.

This is the same fix discussed in the MOV → MP4 post for QuickTime playback. It’s relevant any time HEVC video needs to play in an Apple-controlled player.

Video Forge always emits hvc1 for HEVC output. If you’re using a third-party converter that ships HEVC files that don’t play in iMessage, this is almost always why.

When iMessage re-encodes anyway

A few things will trigger iMessage to recompress your video even if it’s under 100 MB and properly tagged:

  1. Low Quality Image Mode (Settings → Messages → Low Quality Image Mode) — when on, all sent media is heavily recompressed regardless of source quality.
  2. SMS/MMS fallback (green bubble) — iMessage falls back to MMS when the recipient isn’t on iMessage. MMS has a hard ~1.5 MB cap and forces aggressive recompression.
  3. iCloud Messages with low storage — if the sender’s iCloud is full and Messages in iCloud is on, some recompression happens.

The first one is the most common silent quality killer. Worth checking in Settings if your sent videos consistently look soft.

The bitrate math

If you want to engineer for “100 MB or less, maximum quality”:

The same formula from the target file size post:

target_kbps = (max_size_mb × 1024 × 1024 × 8) / (duration_seconds × 1000)
              − audio_kbps

For 100 MB, 5-minute clip, 192 kbps AAC:

target_kbps = (100 × 1024 × 1024 × 8) / (300 × 1000) − 192
            = 2796 − 192
            = ~2604 kbps total video bitrate

At 1080p HEVC, 2604 kbps is comfortably above the visually-lossless threshold (~1800 kbps for typical content). You could push it tighter, but there’s no reason to — 100 MB is the cap, may as well spend the budget on quality.

For a 30-second clip at 100 MB, the math gives ~26000 kbps — wildly beyond any quality benefit. Below about 90 seconds the source quality becomes the limit, not the cap.

The codec choice

This is the post where H.264 isn’t automatically the answer. Apple has made HEVC a first-class citizen on every Apple device since iOS 11 (2017). For iMessage specifically:

For Apple-to-Apple chat: HEVC with hvc1. For mixed (iPhone-to-Android might fall back to MMS): H.264.

For audio: AAC at 192 kbps. iMessage doesn’t have the same brutal bandwidth ceiling that WhatsApp does; you can afford the extra audio budget.

The step-by-step in Video Forge

  1. Drop your video onto the queue.
  2. Pick the iMessage tile in the Send To section. Video Forge picks HEVC, hvc1 tag, AAC 192 kbps, and computes a target bitrate that stays well under 100 MB.
  3. (Optional) Generate the 5-second preview. Side-by-side with the source so you can verify the HEVC compression doesn’t introduce artifacts on your specific content.
  4. Convert. Output suffixed _imessage.mp4 lands next to the source. Drag into Messages, hit send.

If the source is already HEVC and under 100 MB, Video Forge remuxes with the hvc1 tag rewrite — about 3 seconds, lossless, and fixes any inherited hev1 tagging in one step.

Doing it with ffmpeg directly

For HEVC encode with hvc1 tag and a 100 MB target:

ffmpeg -i input.mov -c:v libx265 -crf 22 -preset medium \
       -tag:v hvc1 -c:a aac -b:a 192k -movflags +faststart \
       output_imessage.mp4

For just the tag fix without re-encoding (most common case for files that came back from a cloud converter as hev1):

ffmpeg -i input.mov -c copy -tag:v hvc1 output_imessage.mp4

That second command takes about 3 seconds per gigabyte and is lossless.

On hardware-accelerated Apple Silicon, the HEVC encode is much faster:

ffmpeg -i input.mov -c:v hevc_videotoolbox -b:v 3M -tag:v hvc1 \
       -c:a aac -b:a 192k -movflags +faststart output_imessage.mp4

That’s typically real-time or faster on M2+ Macs. The trade-off vs software libx265 is roughly 10-15% larger file at the same visual quality — worth it for the speed. See the hardware encoder comparison for the full breakdown.

What if it still won’t play inline

Quick troubleshooting for the most common iMessage video failure modes:

  1. Recipient sees a black thumbnail and “Tap to download” → the file is HEVC with the hev1 tag. Re-export with -tag:v hvc1.
  2. Recipient gets a Mail Drop link instead of inline playback → file is over the ~100 MB threshold. Compress to under 100 MB.
  3. Recipient sees a heavily-compressed version → either Low Quality Image Mode is on (sender’s settings) or the recipient is on green-bubble SMS (not iMessage).
  4. Video plays but audio is missing → audio codec is unsupported. Re-encode audio to AAC: -c:a aac -b:a 192k.
  5. iMessage refuses to attach the file at all → file is in an unsupported container (MKV, AVI, WMV). Convert to MP4 first; see MOV → MP4 on Mac for the fast path on MOV specifically.

iMessage vs WhatsApp: what’s different

BehavioriMessageWhatsApp
Hard cap~100 MB (then Mail Drop)16 MB mobile, 100 MB desktop
Re-encodes on uploadUsually no (under 100 MB, Low Quality off)Yes, aggressively
Native HEVC supportYes (with hvc1 tag)No — re-encoded to H.264
Quality at default settingsSource quality preservedUsually a quality hit
Cross-platform deliveryiPhone-iPhone only inlineUniversal

The practical implication: iMessage is the highest-quality chat-platform delivery for Apple-to-Apple, provided you handle the HEVC tagging correctly. For mixed Apple/Android groups, fall back to H.264 (closer to the WhatsApp compression strategy).

FAQ

What is the maximum video size on iMessage? No published cap, but ~100 MB is the practical threshold. Above that, Apple silently switches to a Mail Drop link instead of inline playback.

Why do iPhone videos sometimes not play in iMessage on Mac? Almost always because the HEVC stream is tagged hev1 instead of hvc1. The Apple playback stack requires hvc1. Re-tag with ffmpeg -c copy -tag:v hvc1.

Does iMessage compress my video? Yes if Low Quality Image Mode is on or the file is over ~100 MB. With Low Quality off and the file under 100 MB, the original survives.

Does iMessage support HEVC video? Yes, as long as it’s tagged hvc1. HEVC files are ~40% smaller than H.264 at the same quality, so for Apple-to-Apple delivery HEVC is the right default.

Will my iPhone-recorded video play on Android over iMessage? No — iMessage falls back to MMS for Android recipients, and MMS has a 1.5 MB cap with aggressive recompression. For Android delivery, use WhatsApp or send a Google Drive link.


Video Forge picks HEVC with the right hvc1 tag for iMessage, H.264 for WhatsApp, and the right codec for eight other destinations. 10 conversions free, $5 lifetime after, ffmpeg bundled — download for macOS or Windows.