How this tool works
The video is decoded and encoded again at a lower bitrate, using the same hardware video encoder your device uses to record. Nothing is uploaded — the file never leaves the machine, which is the main reason to use this rather than a service that wants the upload before it will do anything. You choose a resolution and a quality, and the estimated result is shown before anything starts.
The bitrate is worked out from the pixel count rather than fixed, because a figure that suits 1080p starves 4K and wastes bytes on 480p. A smaller resolution is never upscaled: choosing 1080p for a 720p video leaves it at 720p rather than inventing detail. Audio is re-encoded as AAC into an MP4 where the browser can write AAC; where it cannot, the result is written as WebM with Opus audio instead, which keeps the sound rather than dropping it. Only where neither is possible does the export end up silent.
What compression can and cannot do
- Resolution saves more than quality does: halving the dimensions removes three quarters of the pixels, which is a far larger saving than any quality setting. If the video is destined for a phone screen, 720p usually looks identical and is a fraction of the size.
- An already-compressed video may come out larger: a file that was encoded efficiently has little left to remove, and re-encoding it spends bits preserving the artefacts of the first pass. The estimate says so before you start, and the result says so afterwards — keep the original in that case.
- A WebM result is not a downgrade: AAC, which MP4 requires, is unavailable in Firefox on every platform and in every browser on desktop Linux. On those systems this tool writes WebM with Opus audio instead, so the sound survives — WebM plays natively in every current browser and in most players and editors, just not in some older software that only expects MP4.
- MP4 sources encode considerably faster: an MP4 is read frame by frame straight out of the container and handed to the decoder. Anything else — WebM, or a file the demuxer cannot parse — falls back to stepping the video through frame by frame instead, which works with any file the browser can play but is much slower. Converting an awkward source to MP4 first is often quicker overall than compressing it directly.
- Keep the tab in front: browsers throttle background tabs heavily, and encoding slows to a crawl or stalls entirely. This matters most on the slower fallback path, but it is worth doing either way.