Compress Video
Shrink videos so they're easier to send by messaging app or email, saved as MP4. Files never leave your device.
No upload · Processed in your browserMP4 · MOV · WebM · MKV · 3GP · AVI · WMV · FLV1 GB per file (recommended)As of 2026.09.30
High keeps the resolution. Normal scales the long side down to 1280px, and Small to 854px.
How to use
- 1Drag and drop one video or pick it with [Choose files]. A preview appears along with the length, resolution and codecs
- 2Choose a Quality (High, Normal or Small), then press [Start]. The estimate below the options may differ from the actual size
- 3Play the result to check it, then save it with [Download]
The big number on the result card is the size of the result file, shown with how much smaller it is than the original. Each result keeps the original name with -compressed added, as in clip.mov → clip-compressed.mp4, and is always saved as MP4 whatever the original format. While processing, the progress and the estimated time left are shown.
You can add one video at a time. We recommend up to 1 GB on desktop and 100 MB on mobile. Going over the recommendation shows a warning, but you can still continue. Files over 4 GB are not processed. For AVI, WMV and FLV, which go through the fallback engine, we recommend up to 300 MB on desktop and 100 MB on mobile, and files over 700 MB are not processed.
- Example 1 · A 1080p video at Normal
1080p-30s.mp4 (1920×1080, 30 s, H.264 + AAC, about 1.6 Mbps) · 5.8 MB · Normal (default)
Measured in Chromium on desktop · synthetic test video (test pattern + 440 Hz tone) · the fallback engine (FFmpeg) gave 4.7 MB at the same 1280×720 and length
→ 1080p-30s-compressed.mp4 · 4.6 MB (−21%) · 1280×720 · 30.0 s
- Example 2 · A portrait video
portrait-1080x1920.mp4 (portrait 1080×1920) · Normal (default)
Measured in Chromium on desktop · synthetic test video
→ 720×1280 · stays portrait, long side scaled down to 1280
- Example 3 · A low-bitrate video at High
1080p-30s.mp4 (about 1.6 Mbps, 5.8 MB) · High
Measured in Chromium on desktop · synthetic test video · its bitrate is already low, so keeping the resolution doesn't shrink it further
→ Stays 1920×1080 · didn't get smaller, so you're advised to keep the original
Example figures vary by file and device.
Options explained
- Quality
- Sets the resolution and size of the result. “High” keeps the resolution, “Normal” (default) scales the long side down to 1280px, and “Small” down to 854px, keeping the aspect ratio. Videos already smaller than that aren't enlarged, and width and height are rounded to even numbers. Choose Normal for videos watched on a phone or sent through messaging apps, Small when an attachment limit is tight, and High for videos watched on a large screen. Once you choose, an estimate (resolution and approximate size) appears below the options, but the actual size may differ.
- Bitrate, fps and audio
- This isn't a setting you can turn on or off; it follows the Quality you choose. The video bitrate is width × height × fps × a factor (High 0.10, Normal 0.07, Small 0.05), and if that's higher than the original's, 80% of the original bitrate is used instead. The frame rate stays as is with High and is capped at 30 with Normal and Small. Audio is saved as AAC at 128kbps (96kbps with Small), and the result is always MP4 (H.264 + AAC).
- Metadata and rotation
- This isn't a setting you can turn on or off; it always works the same way. Metadata such as shooting location and device info is not carried over to the result. Because the video is re-encoded, the rotation info of videos shot in portrait is applied to the pixels.
Frequently asked questions
Are my videos sent to a server?
No. Compression happens inside this browser and your files are never sent off your device. To check it yourself, follow the steps on the How it works page.
Which quality should I choose, and how much smaller will it get?
Start with the default, Normal. Compressing the test file 1080p-30s.mp4 (1920×1080, 30 seconds, 5.8 MB) at Normal gave 1280×720 and 4.6 MB (−21%). How much a video shrinks depends heavily on its original bitrate: the higher the bitrate, the more it shrinks, while a video whose bitrate is already low, like this test file (about 1.6 Mbps), only shrinks a little. The estimate below the options shows the resolution and approximate size in advance, but the actual size may differ.
The file didn't get smaller.
A video with an already low bitrate may not shrink when compressed again. If the result is the same size as the original or larger, you'll see “This file is already optimized. We recommend keeping the original.” and [Download original] becomes the main button. The test file above didn't get smaller at High (which keeps 1920×1080) either, and this message appeared. To go smaller, choose Normal or Small.
How do I make a video small enough to send by messaging app or email?
Check the attachment limit of the app or service you're sending to, then choose a Quality while watching the estimate below the options. Small produces the smallest result. The estimate may differ from the actual size, so check the actual size on the result card before saving.
Can I compress portrait videos?
Yes. The long side is used as the reference, so portrait videos stay portrait as they shrink. The test file portrait-1080x1920.mp4 (1080×1920) became 720×1280 at Normal. Videos smaller than the limit aren't enlarged: the 640×360 test file vp9-opus.webm stayed 640×360 even at Normal.
Can I compress a large video on my phone?
On mobile we recommend up to 100 MB. Larger files show the warning “This device may stall while processing (up to 100 MB recommended)”, but you can still continue. If this browser can't handle the codecs needed, the fallback engine is downloaded the first time and the screen shows “Preparing the processing engine · about 31 MB, first time only”. On mobile data, we recommend connecting to Wi-Fi first. Keep this page open while processing.
Related tools
How it works · Engine · Notes
- Processed in: this browser (your device)
- Engine: Mediabunny (MPL-2.0) · WebCodecs (built into the browser) (—) · Mediabunny AAC encoder (LGPL-2.1-or-later) · FFmpeg (ffmpeg.wasm, fallback) (GPL-2.0-or-later)
- Compression runs inside this browser with Mediabunny and the browser's built-in video engine (WebCodecs), and files are not sent to a server.
- If this browser can't handle the codecs needed, or the file is AVI, WMV or FLV, a fallback engine (FFmpeg, WebAssembly, about 31 MB) is downloaded the first time and kept in the browser cache. The result size may differ slightly between engines, but the resolution and length are the same.
- Metadata such as shooting location and device info is not carried over, and rotation info is applied to the pixels.
- If the result isn't smaller than the original, you're advised to use the original as is.
- As of 2026.09.30
- Changelog: 2026.09.30 First release