Reviewed 2026-10-20 by the Spool editorial team · How we test
Two ways to compress
By quality is the right choice when you don't have a hard size limit. You pick how hard to compress, and the encoder spends exactly as many bits as each scene needs: few on a static interview, more on a football match. Target size is for hard limits such as email attachments, Discord or upload forms. You type the megabytes, and we work out the bitrate that fits.
| Level | H.264 setting | Typical result |
|---|---|---|
| Light | CRF 24 | Near-identical to the original; a modest saving on already-efficient files |
| Recommended | CRF 28 | Phone videos usually shrink by 50–80% with no difference visible on a phone screen |
| Strong | CRF 32 | Much smaller; some softness in fine detail and dark areas |
In quality mode, audio is re-encoded to AAC at 128 kbps, which is transparent for speech and fine for most music. WebM output uses VP9 with Opus audio at equivalent settings.
Why phone videos shrink so much
Phones encode video in real time with a hardware encoder, which has to be fast and battery-friendly rather than efficient. They use high bitrates to be safe: a minute of 4K from a modern phone is often several hundred megabytes. A software encoder like x264, given more time per frame, reaches the same visual quality with far fewer bits. That's where most of the saving comes from, before resolution even comes into it.
Resolution: the biggest lever
Lowering the resolution cuts the number of pixels to encode. 4K has four times the pixels of 1080p; 720p has under half of 1080p. Phone screens and chat apps rarely show more than 1080p, and many messaging apps display video at 720p or less. The Max resolution option scales by the short side, so vertical videos are handled correctly: a 1080×1920 portrait video set to 720p becomes 720×1280. Videos already smaller than the cap aren't upscaled.
How target-size mode hits the number
- We read the duration and compute a total bitrate budget: target size ÷ duration, minus about 3% for container overhead.
- We reserve 96 kbps for AAC audio and give the rest to the video.
- We encode with that bitrate and a capped peak rate, so a sudden busy scene can't blow the budget.
- We check the file size. If it's more than 2% over the target, we run a second, corrected pass with a proportionally lower bitrate.
If the budget leaves less than 50 kbps for the picture, we stop and tell you instead of producing an unwatchable file. Trim the video or raise the target.
Presets for common limits
- Discord: 10 MB free, 50 MB Nitro Basic, 500 MB Nitro.
- Email: 25 MB for Gmail and Yahoo, 20 MB for Outlook.com.
- WhatsApp: sending a smaller, well-encoded file avoids WhatsApp's own heavy re-compression.
- Exact sizes: 5 MB, 10 MB, 20 MB, 25 MB, 50 MB, 100 MB.
When compression won't help much
- Already-compressed videos, such as files received through WhatsApp, Telegram or downloaded from social media. They're already low bitrate; compressing again saves little and can even produce a slightly larger file. In that case, lower the resolution or keep the original.
- Screen recordings of static content are already tiny per minute; a big file there usually means a long duration, so trim instead.
- HDR iPhone videos are converted to standard 8-bit H.264 without tone mapping, so colours can look flatter. For those, convert with care or turn off HDR recording.
Troubleshooting
| Problem | Fix |
|---|---|
| "Too small for a video of this length" | The budget is under 50 kbps. Trim the video or choose a larger target. |
| Result looks blocky | Lower the max resolution in target-size mode: fewer pixels with more bits each looks better than many starved pixels. |
| Barely any saving | The source is already compressed. Try Strong or a lower resolution. |
| Compressing takes a while | It's a full encode; long 4K videos take minutes. Live progress and ETA are shown. |
More detail: How to compress a video without visibly losing quality.