Compress video for WhatsApp
WhatsApp's video limits are 16 MB per file in chats (some carriers narrower) and 30 seconds for Status posts. This page has the exact bitrate math for hitting them, plus Wave's role in the workflow.
What actually changes
WhatsApp's limits as of 2026: 16 MB per video file in chats and channels; 30 seconds for Status posts regardless of file size. Status compression is easy at 16 MB for a 30-second clip; chat compression gets tight fast on longer video.
For the bitrate targets by clip length, see Video bitrate explained. Short version for common WhatsApp cases: a 30-second Status clip has ~4300 kbps to work with (comfortable 1080p H.264); a 3-minute chat video has ~700 kbps (tight for 1080p, comfortable at 720p); a 10-minute call recording has ~220 kbps (drop to 480p, talking-head only).
WhatsApp's server-side re-encoding is why your uploads sometimes look worse than expected. When you upload video to a chat, WhatsApp re-compresses to ~128-256 kbps at 480p for maximum compatibility before delivery. Uploading a pre-compressed 720p file that hits the 16 MB cap tends to look better than uploading source-quality 1080p - the server's aggressive re-compression stacks visible loss on top of source quality, but leaves a well-prepared file mostly alone.
Wave's role in the workflow: (1) convert the recording to MP4 if it's MOV/MKV/WebM - WhatsApp accepts MP4 reliably, .mov intermittently on iOS-to-Android sharing, .mkv never. (2) For inefficient source codecs, Wave's H.264 re-encode during MP4 conversion shrinks the file dramatically. (3) For the final target-size compression pass, ffmpeg locally: `ffmpeg -i input.mp4 -c:v libx264 -b:v 600k -maxrate 700k -bufsize 1M -c:a aac -b:a 96k -movflags +faststart output_wa.mp4` targets ~600 kbps video for a 3-minute video to fit under 16 MB.
Three steps.
-
01
Step 1
Trim first: WhatsApp Status caps at 30 seconds and chat compression gets easier the shorter the clip. Any trim you can make cuts the bitrate math proportionally.
-
02
Step 2
Convert to MP4 with Wave if the source is MOV/MKV/WebM. This is the container fix WhatsApp actually accepts.
-
03
Step 3
For target-size (fit under 16 MB), compute bitrate as above and encode with HandBrake or the ffmpeg command in the technical notes.
Answers, specifically.
Why does my WhatsApp upload look terrible after sending?
WhatsApp's server-side re-encoding compresses your video for maximum compatibility with cheap Android devices, which uses aggressive settings that stack visible loss on top of any compression you already did. Pre-compressing to the 16 MB target before upload usually gives better final quality than sending the source.
What resolution should I target for WhatsApp?
720p is the sweet spot for anything longer than 30 seconds - it survives WhatsApp's re-compression better than 1080p because the source has more headroom, and it takes about half the bitrate of 1080p for equivalent visual quality. For Status clips or short chats, 1080p at higher bitrate stays cleaner.
HEVC or H.264 for WhatsApp?
H.264. WhatsApp's decoder is compatible with both but its server-side re-encoder is more predictable when the input is H.264. HEVC input often ends up double-encoded (server decodes HEVC, re-encodes to H.264) which is where the quality drop comes from.
WhatsApp Status limit is 30 seconds - how do I trim?
iOS Photos app: pick the video, tap Edit, drag the yellow trim handles at both ends, tap Done. Android: Google Photos → video → Edit → same handle drag. macOS: QuickTime Player → Edit → Trim. All produce trimmed MP4 or MOV files ready for WhatsApp.
Does WhatsApp handle .mov files from iPhone?
Yes for direct sharing (WhatsApp's iOS app converts on send). For pre-compressed .mov uploads, sometimes reliably, sometimes not - depends on the codec inside and the server-side pipeline's state that day. Converting to .mp4 first eliminates that variable.
Voice notes vs video for a message: which is smaller?
Voice notes are much smaller - Opus at 32 kbps is roughly 4 KB per second. For a message that only needs audio, WhatsApp's voice-note feature bypasses the video-compression pipeline entirely.