Video Compressor: Shrink MP4 & MOV Online with FFmpeg
Drop a video that's too big to email, upload or share and watch it shrink. Real FFmpeg H.264 compression with a plain-English quality slider, an exact before/after size meter and a side-by-side preview so you can confirm it still looks great: all in your browser, never uploaded.
100% browser processingFree · no sign-up
Loading tool…
What is the video compressor?
The Video Compressor shrinks MP4, MOV, WebM, MKV, AVI and M4V files using FFmpeg (libx264/AAC) in the browser. A plain-English quality slider drives the encode, and an exact before/after meter shows the bytes and percentage saved next to a live preview. Output is a universally playable MP4. Free, nothing uploaded.
The GigAI Video Compressor runs a full FFmpeg build compiled to WebAssembly directly inside your browser tab, so it can re-encode a video and cut its file size without ever sending your footage to a server. Phone recordings, screen captures, drone clips and platform exports are almost always heavier than they need to be (bitrates are set for capture, not for sharing) which is why a 90-second clip can refuse to attach to an email or blow past a chat app's upload limit. Drop your file, drag one quality slider (it maps to a proven H.264 CRF, from near-lossless to aggressively small), and optionally punch in a rough target size to guide your choice. The tool transcodes to a broadly-compatible H.264/AAC MP4 with faststart enabled for instant web playback. When it finishes you get the original size, the compressed size, the exact percentage saved and a preview player, so you can confirm the quality holds before you download. Because everything is client-side there is no upload wait and no privacy tradeoff, sensitive recordings, unreleased footage and personal videos never leave your machine. Be honest with yourself about the engine: WebAssembly FFmpeg is meaningfully slower than a native app and it's memory-bound, so a short clip is nearly instant while a large one takes real time and a determinate progress bar keeps you informed the whole way. Close the tab and every byte is gone.
Difficulty:
Medium
Typical time:
~1–2m
Processing:
100% browser processing
Last updated
Advertisements
How to use the video compressor
1
Drop your video
Drag an MP4, MOV, WebM, MKV or other common video onto the workspace, or click to browse. It's read locally and you'll see its size, duration and dimensions immediately.
2
Set the quality
Drag the quality slider toward 'smaller file' or 'best quality'. Optionally enter a target size to see where to aim. The first run loads the FFmpeg engine once (a one-time moment).
3
Compress
Press Compress. A determinate progress bar tracks the encode locally, quick for short clips, longer for large ones since this is WebAssembly, not native.
4
Check the result & download
Read the original vs compressed size and the exact percentage saved, play the preview to confirm quality, then download the MP4, or start over with a new setting.
What Video Compressor includes
Real FFmpeg, in your browser
A full FFmpeg build compiled to WebAssembly re-encodes your clip with H.264 (libx264) and AAC, the same codec pipeline desktop tools use, with no upload, no account and no install.
One plain-English quality slider
Skip the CRF/bitrate jargon. Drag from 'smallest file' to 'best quality' and the tool picks the right H.264 CRF for you. The exact value is shown for anyone who wants it.
Target-size hint
Type a rough size you need to hit (for an email cap, a chat upload or an LMS limit) and get a live estimate of where the slider should land so you're not compressing blind.
Exact before / after meter
See the original bytes, the compressed bytes and the precise percentage saved the moment it finishes, the real shipping weight, not a vague 'optimized' badge.
Preview before you download
The compressed result plays right in the page so you can confirm the quality holds and the audio is intact before you commit, the safety net a command line never gives you.
100% private, nothing uploaded
Encoding happens on your device with a self-hosted engine. Personal recordings, unreleased footage and confidential screen captures are never uploaded, stored or logged.
Advertisements
Why use our video compressor
Get under the upload limit
Email attachments, chat apps, LMS uploads and forums all cap file size. A single pass here routinely halves a clip (often much more) so the file finally attaches or uploads.
No upload wait, no privacy tradeoff
Server compressors make you upload the big file first and trust them with it. Here the video never leaves your browser, so there's no upload bar and nothing to trust.
See it still looks good, first
The side-by-side size meter and the preview player let you confirm the quality survived at your chosen setting before you download. No re-doing a bad export.
Universally playable output
Output is H.264/AAC MP4 with faststart, which plays on virtually every phone, browser and editor and streams instantly on the web. Not a niche codec you'll fight later.
Built for the way you work
From quick one-off fixes to daily workflows, see how people put this tool to use.
Anyone sharing a clip
Fit a video into an email or chat
A 25 MB phone clip won't attach to a 20 MB email cap, and Discord or WhatsApp bounce big uploads. Compress it down until it fits, then send it without a cloud link.
Creator / Marketer
Lighten a video before upload
Trim the bitrate on a screen recording or promo before it goes to a site, an ad platform or a course, smaller uploads finish faster and pages load quicker.
Developer / QA
Shrink a screen-capture for a bug report
Screen recordings of a repro are huge. Compress the capture so it drops cleanly into a GitHub issue, a Jira ticket or Slack under the attachment limit.
Privacy-conscious user
Compress sensitive footage locally
Personal, medical or confidential recordings shouldn't be uploaded to a stranger's server to be shrunk. Do it entirely in your browser so nothing ever leaves the device.
What this tool does not do
Boundaries stated plainly, with the right tool for each neighbouring job.
It does not change the frame size - 1080p stays 1080p. Video Resizer does that.
It does not cut the clip shorter. Video Trimmer does that.
Supported formats
Accepts MP4, MOV, WebM, MKV and AVI, and produces MP4, all processed locally in your browser.
Input formats
MP4
MOV
WebM
MKV
AVI
M4V
Output formats
MP4
Frequently asked questions
Use this in a workflow
See how the video compressor fits into a step-by-step journey with related tools.
Hit a snag? Here are quick fixes for the issues people run into most.
It's taking a long time on my video.
That's expected for large or long clips. This is FFmpeg compiled to WebAssembly, which is slower than a native app and memory-bound. Keep the tab focused, watch the progress bar, and for very large files try a lower-quality (smaller) setting or trim/split the clip first.
The tab ran out of memory or the encode failed on a big file.
WASM has a memory ceiling. Close other heavy tabs, try again, and if it still fails the file is likely too large for in-browser encoding, reduce its length first or use a smaller-resolution source. As a loose guide, keep inputs under a few hundred MB.
The output barely got smaller.
Your source may already be efficiently encoded, or you chose a high-quality setting. Drag the slider toward 'smaller file' and re-run. If it's still close, the video is near its practical floor at watchable quality.
The compressed video looks softer than the original.
Some quality loss is the whole point of compression, you're trading detail for size. Nudge the slider back toward 'best quality' and re-run until the preview looks right. Find the balance where it's small enough but still clean.
Get the most out of it
Start in the middle of the slider (it targets a visually-clean CRF) then only push toward 'smaller' if you still need to fit a limit.
Use the target-size hint to aim: enter your email or upload cap and let it guide where the slider lands so you don't over- or under-compress.
The FFmpeg engine loads once per session on your first compress. After that, subsequent runs skip straight to encoding.
For a clip that's mostly too long rather than too heavy, trimming or splitting it first often beats compressing the whole thing hard.
Always play the preview before downloading, it's the fastest way to catch a setting that went too aggressive on motion or text.
What's new
Recent updates and improvements to the video compressor.
Initial release: in-browser H.264 compression via self-hosted FFmpeg (WebAssembly), a plain-English quality slider mapped to CRF, exact before/after byte + percentage-saved meter, a preview player, and one-click download of a faststart MP4.
Added the target-size hint that estimates a starting quality from a size you need to hit, plus a clearer one-time engine-loading state and a determinate progress bar during the encode.
Improved memory handling and honest guidance for large files, refined the CRF mapping for cleaner mid-range output, and added drag-and-drop plus reset-and-retry to the workspace.
Your video is read and re-encoded entirely in your browser using a self-hosted FFmpeg (WebAssembly) engine. It is never uploaded to any server. Nothing is stored, logged or transmitted, so you can safely compress personal, confidential or unreleased footage. There's no upload step and no cloud copy. Close the tab and every byte is gone.
Runs in your browser
No uploads
Nothing stored
Ready to try the video compressor?
Free, private and instant. Video Compressor runs right in your browser.