Video compressor
Compress video to any size
Compression runs on your own hardware encoder through WebCodecs, so the file never leaves your device and there is no upload, no queue and no cap. Pick the limit you are up against -- or a platform preset, which targets the size that actually sends rather than the size the platform advertises -- and the output is measured before you get it, then re-encoded if it came in over.
Takes MP4, MOV, WebM, MKV and AVI
2Add your file
Video, images and PDFs, all compressed on your own machine. No upload, no account, no watermark, no limit on how many files.
Why this one
What this does that an upload-based video compressor cannot
Three differences, each of them a consequence of where the work happens rather than a feature that could be added.
A number, not a percentage
Set the limit you have to clear and the bitrate is computed backwards from it. Tools that offer you 50% have no idea what your file will weigh afterwards, which is why the answer they give is a guess.
Nothing is uploaded, ever
There is no server in this product. The file is read, compressed and handed back inside this browser tab, which is why there is no queue, no account, and no deletion policy to trust -- nothing was ever sent.
Measured, not estimated
The finished file is weighed and compared against your limit before you are given it. If it came in over, the bitrate is corrected by the observed error and it encodes again.
Pick your number
Compress video to an exact size
Each of these is this same tool with the target already set. If the size you need is not here, type it.
Platform limits
Sending it somewhere specific?
Each of these targets the size that actually sends, which is not always the size the platform advertises.
- Discord20MB
Discord's free-tier upload limit is 20MB, raised from 10MB in August 2026. Nitro Basic is 50MB and Nitro is 500MB.
Verified 26 Sep 2026
- WhatsApp16MB
WhatsApp caps videos sent as media at 16MB. Sending the same file as a document skips compression and allows up to 2GB, but loses the preview and autoplay.
Verified 26 Sep 2026
- Gmail18MB
Gmail's attachment limit is 25MB for sending and 50MB for receiving, but it measures the base64-encoded message. Keep the file itself under about 18MB.
Verified 26 Sep 2026
- Outlook15MB
Outlook.com caps attachments at 20MB. Exchange and Microsoft 365 limits are set per organisation and are often lower, so 15MB is the safe target.
Verified 26 Sep 2026
Mechanism
How it hits the number
Four steps, one of which nobody else does.
- 01
The container is read locally
Length, resolution, frame rate and bitrate come out of the file in a fraction of a second. Nothing is decoded and nothing is sent anywhere.
- 02
The budget is divided by the duration
Subtract what the audio needs, divide the rest by the running time, and step the resolution down if what is left is too low a bitrate to still look like video at that size.
- 03
Your own hardware encoder runs
The same silicon your phone uses to record video, reached through WebCodecs. This is the part that would otherwise be an upload, a queue and a place your file now lives.
- 04
The output is weighed, then redone if needed
If it came in over your limit, the bitrate is corrected by the observed error and it encodes again. This is the step almost every other tool skips, and the reason its answer is 'approximately'.
Alternatives
How it compares
Both of these are good products with more tools than this one. The comparison is about where your file goes and whether you can name a target size.
- vs FreeConvertFreeConvert's video compressor takes a target as a percentage of the original file -- 0 to 10000% -- rather than a number of bytes, caps free input at 1GB, and stores uploads with AWS in Ireland for eight hours. CompressToFit takes the byte figure the form gave you and never uploads anything.Checked 15 Oct 2026
- vs CloudConvertCloudConvert's free tier is 10 conversion credits a day with a 1GB file ceiling and a five-minute processing cap, and the work runs on its servers. CompressToFit meters nothing, because there is no server to meter -- the encode happens on your own machine.Checked 15 Oct 2026
- vs ClideoClideo adds a clideo.com watermark to every export on the free plan, reserves its best compression preset for Pro, and takes free input up to 500MB. CompressToFit adds no watermark, has one compression setting which is the strongest one, and has no paid tier to withhold anything for.Checked 15 Oct 2026
- vs VEEDVEED puts a VEED.IO watermark on every export made on a free account and caps free exports at 720p, and upgrading later means exporting the project again to lose the mark. CompressToFit has no watermark, no resolution cap, no account and no export queue.Checked 15 Oct 2026
- vs 8mb.video8mb.video aims at real sizes -- 8, 10, 20, 25, 50 and 100MB presets, or a custom figure up to 200MB -- but reaches them on a server, deletes the result after twenty minutes and allows two downloads by default. CompressToFit aims at the same numbers in your browser, and down to kilobytes.Checked 15 Oct 2026
Questions
Compressing video
- Is this video compressor really free?
- Yes, with no tier above it. Compression runs on your own hardware, so a file costs us nothing to process -- there is no bandwidth bill and no server time to recover, and therefore nothing to ration. Unlimited files, no account, no watermark, no daily cap, and no "upgrade to unlock stronger compression", because the strongest setting was never being withheld.
- Where does my file go?
- Nowhere. It is read, compressed and handed back inside this browser tab using your machine's own encoders. There is no server in this product to send it to, which is a different claim from "we delete your files after an hour" -- nothing was uploaded, so there is nothing to delete and no retention policy you have to take on trust.
- Is there a file size limit on the video I can compress?
- Not one we impose -- there is no upload to cap. The practical ceiling is your own machine's memory, which in a current browser means files far larger than anything you are likely to be compressing. Targets run from 2MB up to 100MB as one-click presets, and you can type any number in between.
- Do I have to sign up or install anything?
- No. There is no account, no email, no extension and no desktop installer -- the page you are reading is the whole application. It works offline once loaded, because at that point everything it needs is already in the browser.
- Is shrinking a video the same as compressing it?
- Yes. Shrink, compress and reduce the file size all name one job here: making the file smaller in bytes while it still works as a video. The word that means something else is resize -- changing the resolution, 1080p down to 720p, which is one lever compression pulls rather than a synonym for it. This tool is pointed at the byte count. You give it the number and it gets there by whichever route costs the least quality, which sometimes means stepping down a resolution rung and always means the result is measured rather than assumed.
- Does it put a watermark on the video?
- No, and it never will. The encode happens on your own hardware, which costs us nothing per file, so there is no paid tier for a watermark to advertise. Video does need WebCodecs -- Chrome, Edge, Safari 16.4 and up, and recent Firefox -- and you are told plainly if your browser cannot do it rather than being handed a broken file.
Other files
Holding something else?
The same tool, and the same guarantee. Each family reaches your number a different way, because each has a different dial to turn.
Background
Worth reading
The arithmetic behind the number, and what to do when it will not fit.
- Compressing a video for DiscordDiscord's free limit went to 20MB, but the rollout was uneven and some accounts still see 10MB. Here is how to pick a target that actually uploads.
- Compressing a video for Microsoft TeamsTeams advertises 250GB per file and caps a chat attachment at 100MB. Different routes, different limits -- and the interface pushes you to the small one.
- When GitHub says your file is too largeGitHub has three different size thresholds and states them in MiB, not MB. Which one you hit depends entirely on how you tried to add the file.