How to compress a video
- Add your video. Drag and drop a video file onto the dropzone or click to browse. For the smoothest experience, keep files under about 150 MB.
- Choose a quality preset. Pick a preset, or fine-tune the CRF slider. Lower presets downscale the resolution and bitrate for much smaller files.
- Let it encode on your device. ffmpeg re-encodes the video to H.264/MP4 locally. A progress bar shows where it is — larger or longer clips take more time.
- Download the result. Save the smaller MP4. If the output isn't smaller, your file was already efficient — try a lower quality or resolution and re-run.
Why compress video in your browser?
Video is by far the heaviest media most people deal with. A minute of 4K phone footage can run to hundreds of megabytes, which is too big to email, awkward to upload, and quick to fill cloud storage and a phone’s camera roll. Compressing a clip can cut its size by half or more while keeping it perfectly watchable, making it easy to share on chat apps, attach to a message, or post to a site with an upload limit.
What makes this tool different is where the work happens. Your raw footage often contains private moments — family, your home, your workplace, documents on screen. A typical online compressor uploads all of that to a remote server. Here, the video is decoded, re-encoded, and re-saved entirely inside your browser tab, so it never travels across the internet. Once the page has loaded you can even switch off your connection and it will still compress.
There are plenty of everyday reasons to reach for a smaller file. Messaging apps and email providers cap attachments — often at 25 MB or less — so a quick re-encode is the difference between a message that sends and one that bounces. Course platforms, job-application portals, and contact forms frequently reject anything over a few megabytes. And if you are archiving years of family clips, halving each file pays off many times over in storage you do not have to buy.
How the in-browser encoder works (and its limits)
Under the hood this tool runs ffmpeg, the industry-standard media engine, compiled to WebAssembly so it executes natively in your browser. That is genuinely powerful, but it comes with honest trade-offs you should know about. The build is single-threaded, so it cannot spread the encode across all your CPU cores the way a desktop app or a cloud server does. As a result, compression here is slower than an upload-based service that runs on a multi-core machine, and a few minutes of video can take a little patience.
It is also memory-bound. The whole file has to fit in the browser’s available memory while it is processed, so we recommend keeping inputs under roughly 150 MB. Very large or very long videos can be slow and may fail outright on phones or older laptops with limited RAM. If you hit a wall, trim the clip to the part you need, lower the resolution, or run it on a desktop browser with more memory. These are real constraints of doing everything locally — the upside is that your video stays yours.
A few habits make local encoding much more pleasant. Close other heavy tabs and apps before you start so the browser has room to work. Keep the tab in the foreground — some browsers throttle background tabs, which can stall a long encode. And give it time without refreshing: the progress bar is real, and reloading mid-encode throws away the work done so far.
CRF, resolution and audio: the three levers
Three settings determine your final file size. The biggest single lever is resolution. Downscaling from 4K to 1080p, or 1080p to 720p, removes an enormous number of pixels from every frame and is usually invisible unless you watch on a large screen up close. If you only need a clip for a phone or a website embed, downscaling will shrink it far more than tweaking quality alone.
The second lever is CRF (Constant Rate Factor), the quality control for H.264. Lower numbers mean higher quality and bigger files; higher numbers mean smaller files with more visible compression. A CRF of 23–28 is the practical sweet spot for most footage. The third lever is audio bitrate: speech is fine at a low bitrate, while music benefits from more. If your video is mostly talking, trimming the audio bitrate saves space with no noticeable loss. The default output is H.264 in an MP4 container precisely because it plays almost everywhere.
- Match the resolution to where it will be watched. A clip destined for a phone or a small web player gains nothing from 4K; 720p or 1080p will look identical and weigh a fraction as much.
- Nudge CRF before you nudge anything else. Moving from 23 to 26 often halves the size with detail loss most viewers will never spot. Compare the result before going more aggressive.
- Don’t re-compress an already-compressed clip. Each lossy pass throws away more detail. If the tool reports the output isn’t smaller, your file is already efficiently encoded — leave it as is rather than degrading it further.
- Trim first for big savings. Cutting dead air off the start and end of a clip removes whole frames, which beats any quality setting for shrinking the file.
A quick word on video codecs
A “video file” is really two things: a codec that encodes the pixels (such as H.264, VP9 or AV1) and a container format that wraps it (MP4, WebM, MOV, MKV). That is why the same H.264 video can live inside an MP4 or a MOV. We output H.264/MP4 because it has the widest hardware and software support of any modern codec — almost every device made in the last decade can decode it smoothly. You can read more about how codecs and containers fit together in MDN’s web video codec guide.
This page is the hub for all of our video tools. If you know your file format, the dedicated pages have tips tailored to it: use the MP4 compressor for footage already in MP4, or the MOV, WebM, MKV and AVI compressor for clips from cameras, screen recorders and other apps. If you only need to shrink the sound — a podcast, a voice memo, or a music file — the audio compressor handles that without re-encoding any video at all.