Free Video Compressor
Video Compressor shrinks MP4, MOV, WebM and MKV videos to a quality preset or a target size in MB, using H.264, VP9 or AV1. You can also trim, crop, lower the resolution or frame rate, change the speed from 0.25× to 4×, remove the sound, or export only the audio as MP3, M4A or WAV.
- Output:
- MP4 (H.264) or WebM (VP9, AV1)
- Speed:
- 0.25× to 4×
- Audio only:
- MP3, M4A or WAV
- Price:
- Free
- Runs:
- Locally, in your browser
- Uploads:
- None: files never leave your device
- Account:
- Not needed
Quick answers
Is my video uploaded?
No. Everything runs in your browser with WebCodecs: the file never leaves your device.
How accurate is the target size?
The bitrate is computed from the target, the clip length and the audio, so results are usually within a few percent. Very small targets for long clips cannot be reached: lower the resolution or trim the video.
Processed on your device: your files are never uploaded. How it works
Network activity in this tab
What this page has requested since you opened the site in this tab. An upload is any request that sends data: POST, PUT, PATCH or a request with a body.
No uploads: nothing has been sent from this page.
No network requests yet.
To see every request, open your browser's developer tools (Network tab).
How to use the Video Compressor
- Drop a video (MP4, MOV, WebM, MKV…). It is read on your device, nothing is uploaded.
- Pick a quality preset or a target size in MB, and optionally a lower resolution, frame rate or a different codec.
- Trim with the handles under the player, choose a crop shape and drag the box, change the speed or remove the sound.
- Press Compress video (or export the audio only as MP3, M4A or WAV), compare the sizes, preview and download.
Credits & open source
Our own code plus open-source libraries. Thank you to the people who make these projects.
- MediabunnyReads, writes and converts media files with WebCodecs (MP4, WebM, MKV, MOV, MP3, WAV, Ogg...). © Vanilagy and contributors · MPL-2.0
- lamejsMP3 encoder (port of LAME), loaded as a separate unmodified chunk. © LAME project; JavaScript port by Alex Zhukov; ESM fork by Breezystack · LGPL-3.0
Web platform APIs used: WebCodecs, Pointer Events, Keyboard Events, File API, localStorage.
Full license texts: third-party notices · all credits
Frequently asked questions
What happens to the sound when I change the speed?
You choose: Keep pitch time-stretches the audio so voices sound normal, Tape changes the pitch with the speed like an old tape deck, and Drop removes the sound.
Can I get just the audio?
Yes. Switch Output to Audio only and save MP3, M4A (AAC) or lossless WAV, with the same trim and speed options.