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:
| Channel | Behavior |
|---|---|
| Inline iMessage video | Works reliably up to ~100 MB. Larger files trigger Mail Drop silently. |
| Mail Drop fallback | Free 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 Mode | Settings → 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:
hvc1— Apple’s required tag. Playback stack on every Apple OS expects this. iPhone camera output uses this by default.hev1— alternative tag used by some non-Apple encoders, the older ffmpeg default, and many cloud transcoders.
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:
- Low Quality Image Mode (Settings → Messages → Low Quality Image Mode) — when on, all sent media is heavily recompressed regardless of source quality.
- 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.
- 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:
- HEVC (H.265) with
hvc1tag — ~40% smaller than equivalent H.264. Plays inline on every Apple device since 2017. The right default. (See the codec comparison for the full size-vs-quality numbers.) - H.264 — universal compatibility, including non-Apple recipients who might be receiving via SMS fallback. Larger files, but safer if you don’t know the recipient’s setup.
- AV1 — playback is iPhone 15 Pro+ only as of mid-2025. Skip for iMessage unless you’ve confirmed the recipient’s hardware.
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
- Drop your video onto the queue.
- Pick the iMessage tile in the Send To section. Video Forge picks
HEVC,
hvc1tag, AAC 192 kbps, and computes a target bitrate that stays well under 100 MB. - (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.
- Convert. Output suffixed
_imessage.mp4lands 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:
- Recipient sees a black thumbnail and “Tap to download” → the file
is HEVC with the
hev1tag. Re-export with-tag:v hvc1. - Recipient gets a Mail Drop link instead of inline playback → file is over the ~100 MB threshold. Compress to under 100 MB.
- 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).
- Video plays but audio is missing → audio codec is unsupported.
Re-encode audio to AAC:
-c:a aac -b:a 192k. - 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
| Behavior | iMessage | |
|---|---|---|
| Hard cap | ~100 MB (then Mail Drop) | 16 MB mobile, 100 MB desktop |
| Re-encodes on upload | Usually no (under 100 MB, Low Quality off) | Yes, aggressively |
| Native HEVC support | Yes (with hvc1 tag) | No — re-encoded to H.264 |
| Quality at default settings | Source quality preserved | Usually a quality hit |
| Cross-platform delivery | iPhone-iPhone only inline | Universal |
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.