How video compression actually shrinks a file
A video file's size is almost exactly bitrate × length: a phone clip recorded at 18 Mbps uses about 135 MB per minute, while the same minute at 2.8 Mbps takes 21 MB. Compressing means re-encoding the picture with fewer bits per second, and optionally fewer pixels (resolution) or fewer frames per second.
The sound is small by comparison — AAC at 128 kbps is under 1 MB per minute — so it is copied unchanged by default. Only when a target size is tight does the tool lower it to 96 or 64 kbps.
Quality levels and what they mean in numbers
- High quality: about 60% of YouTube's recommended upload bitrate (4.8 Mbps for 1080p at 30 fps).
- Balanced: about 35% (2.8 Mbps for 1080p30), the default; differences are hard to see on a phone screen.
- Smallest: about 20% (1.6 Mbps for 1080p30); fine for chat, visibly soft on a TV.
Every level is capped at 70% of the original's bitrate, so an already-small video can't come out bigger. The estimate under the options shows the expected size before you press Compress.
Hitting an exact target size
In Target size mode the bitrate is worked out from the limit and the length: video bits = (target − container overhead) × 0.97 ÷ seconds − sound bits. Browsers' encoders do not always obey: in our tests Chrome's variable mode overshot by 85–140% while its constant mode landed within 1%, and Firefox behaved the other way round. So the tool starts with the mode that suits your browser, measures the result and, if it is over, re-encodes up to twice with a corrected bitrate.
If a target is too small for the length, it lowers resolution first: it keeps the highest resolution that still gets at least 0.05 bits per pixel, the level below which H.264 turns blocky. With 25 MB and sound at 128 kbps that means 1080p60 for 30 seconds, 720p60 for a minute, 720p30 for two minutes and 360p30 for five.
Resolution or frame rate: which to lower
Lowering resolution from 1080p to 720p removes 56% of the pixels and usually looks better than squeezing 1080p into the same bitrate. Resolution here means the short side, so a vertical 1080×1920 phone video becomes 720×1280, not a squashed 406×720. Videos are never upscaled.
Going from 60 to 30 fps halves the frames; at the same quality that saves roughly 30–50%, because neighbouring frames are similar. Frames are chosen by their timestamps, so length and lip-sync stay exact even for phone videos with a variable frame rate. A target higher than the source (30 fps on a 24 fps film) changes nothing.
iPhone, HEVC and HDR videos
iPhones record HEVC (H.265) by default. Chrome, Edge and Safari can usually read it, Firefox cannot — the card says so as soon as you add the file. The output is H.264, which every phone, computer and messenger plays.
Since the iPhone 12, videos are often HDR (HLG). Browsers convert them to standard range without tone mapping, so bright skies and skin can look grey or washed out. The tool flags HDR files and shows the original and result side by side; if colours matter, check before sharing.
Privacy and limits of in-browser compression
The video is read from your device in small pieces and encoded by your browser's built-in encoder; nothing is uploaded, and there is no file-size cap from a server. Speed depends on your computer: a desktop typically encodes 1080p at two to five times real time, a phone more slowly.
Results over about 256 MB can be written straight to disk in Chrome and Edge, so even multi-gigabyte outputs don't have to fit in memory. Other browsers keep the result in memory and warn before it gets too large.
When not to compress
YouTube, Vimeo and most social platforms re-encode every upload, so sending them a compressed file only stacks two losses; upload the original if the platform accepts its size. Compress when a limit forces you to: Discord, email, messengers, or a nearly full phone.
If the result comes out larger than the original, the original was already efficiently encoded. The tool says so and you can simply keep the original.