Video Compressor
How to compress a video to under 25 MB (or any size limit)
A size limit is a budget of bits. Divide it by the length of the clip and you know how many kbit/s the video may use. This guide gives the arithmetic, a table for 16, 20 and 25 MB, and four ways to hit the number.
To compress a video to under 25 MB, work out the bitrate that fits. File size is the combined video and audio bitrate times the length, divided by 8. A 3-minute clip with 128 kbit/s audio has about 983 kbit/s left for the picture. Encode at or below that figure and keep a few percent of margin.
How is the file size of a video decided?
By bitrate and length, not by the resolution on its own. A bitrate is the amount of data spent on each second of recording. Multiply the video and audio bitrates by the number of seconds, divide by 8 to turn bits into bytes, and you have the size. A 10-minute video at 5000 kbit/s with 128 kbit/s audio holds 384.6 MB. Here 1 kbit is 1000 bits and 1 MB is 1,000,000 bytes.
What video bitrate fits 16, 20 or 25 MB?
The table runs the same formula backwards for common limits. It shows the video bitrate that is left after 128 kbit/s of audio. It counts the audio and video data only, so the finished file will be slightly larger once the container is added.
| Size limit | 1 minute | 3 minutes | 5 minutes |
|---|---|---|---|
| 16 MB | 2005 kbit/s | 583 kbit/s | 298 kbit/s |
| 20 MB | 2538 kbit/s | 760 kbit/s | 405 kbit/s |
| 25 MB | 3205 kbit/s | 983 kbit/s | 538 kbit/s |
For other lengths or limits, use the video bitrate calculator in its size limit mode. Know which limit you are aiming at: Google says the attachment limit for a personal Gmail account is 25 MB (support.google.com/mail/answer/6584), and Discord states that as of August 2026 the upload limit without a subscription is 20 MB (support.discord.com/hc/en-us/articles/25444343291031). Other apps and mail services set their own limits, so check the help page of the one you use, and whether it counts MB or MiB.
How do I check the bitrate my video has now?
- Divide the file size by the length. A 90 MB clip that runs 3 minutes (180 seconds) uses 90 × 8 ÷ 180 = 4 Mbit/s, which is 4000 kbit/s in total.
- Compare that with the table. If the total is already below the budget, the file fits and compressing it only costs quality.
- To read the exact figure from a file,
ffprobe -v error -show_entries format=bit_rate -of default=noprint_wrappers=1:nokey=1 input.mp4prints the overall bitrate in bits per second.
How do I compress a video in the browser?
- Open the video compressor and drop the MP4, MOV or WEBM file on the box. One file at a time, up to 1 GB.
- Pick a preset. Smallest file caps the height at 720p and aims for a low bitrate, which suits chat and mail. Balanced keeps up to 1080p at a medium quality target.
- Press Compress the video and read the result row. It shows the size before and after and the percentage saved, so you can compare it with your limit.
The work runs in your browser tab, so the clip is not uploaded. One caveat: the presets set a quality level, not a target size, so the compressor cannot promise 25 MB. It tells you what came out. If the file was already compact, it says so instead of returning something bigger.
What if the result is still over the limit?
- Shorten the clip. Size scales with length, so cutting a 5-minute video to 3 minutes gives you a lot more room than a lower quality setting does.
- Start again from the original instead of compressing the compressed file. Each re-encode costs a little more sharpness.
- Encode to an exact bitrate with ffmpeg. Two-pass encoding is the mode that FFmpeg's H.264 guide (
trac.ffmpeg.org/wiki/Encode/H.264) recommends when you target a file size. For 3 minutes and 25 MB, run pass 1 withffmpeg -y -i input.mp4 -c:v libx264 -b:v 950k -pass 1 -an -f null /dev/nulland then pass 2 withffmpeg -i input.mp4 -c:v libx264 -b:v 950k -pass 2 -c:a aac -b:a 128k output.mp4. On Windows writeNULinstead of/dev/null. - Send a link instead. Gmail turns attachments over its limit into Google Drive links on its own.
How much quality does a smaller file cost?
Fewer bits per second means less detail per frame. Text, thin lines and fast motion soften first. A tight budget such as 583 kbit/s for 3 minutes will look blocky at 1080p, because the same bits have to cover more pixels. Dropping to 720p gives the encoder fewer pixels to describe, and the picture usually holds up better at that bitrate. If the limit is very tight, a shorter clip beats an ugly one.
Questions
How do I compress a video to 16 MB?
Use the same method with a 16 MB budget. With 128 kbit/s audio, 16 MB allows about 2005 kbit/s of video for a 1-minute clip, 583 kbit/s for 3 minutes and 298 kbit/s for 5 minutes. Encode at or just below that figure and check the size of the result.
How can I send a video that is over 25 MB by email?
Compress it to fit, or send a link. For personal Gmail accounts the attachment limit is 25 MB, and Gmail replaces an attachment above that with a Google Drive link. Work and school accounts follow limits their administrator sets.
Why is my compressed video still bigger than the limit?
Three things add up. The container (MP4, MKV and others) adds headers and an index, a variable-bitrate encoder only averages the bitrate you set, and some services count MiB instead of MB: 25 MiB is 26.2 MB, which is 4.9% more. Aim a few percent below the limit.
Does compressing a video reduce its quality?
Yes, a little. Re-encoding spends fewer bits, and the loss shows first in text and fine detail. At the Balanced preset it is usually hard to see on a phone screen. Keep the original so you can compress again with different settings.
Is my video uploaded when I compress it?
No. The video is read and re-encoded by your browser's own codecs in the open tab, and nothing is sent to a server. It needs a recent Chrome or Edge, Firefox 130 or later, or Safari 16.4 or later.