Skip to main content
PixelTools
All articles
Guides5 min readby the PixelTools team

Compress Video to 10MB: How Long a Clip Fits

How long a video can be and still fit in 10MB, with the bitrate math behind it, and how to compress to exactly 10MB in your browser.

The short answer

A 10MB file holds about 30 seconds of good-looking video, one minute of acceptable video, and two minutes of soft but watchable video. Past roughly five minutes, 10MB stops being realistic. The limit is a budget of bits, and the only things you can spend it on are time, picture quality and sound. Open the [Compress Video tool](/compress-video), choose the by-target-size mode, type 10 into the custom size box, and the tool works out the bitrate for your clip's length. It runs in your browser, so the file is never uploaded. The rest of this guide shows how the budget is split, so you can tell before you start whether your clip will fit or whether you should cut it shorter first.

The math behind 10MB

File size is bitrate times duration, and nothing else. PixelTools counts 1MB as 1,000,000 bytes, the strict reading that upload limits are usually checked against, so 10MB is 80 million bits. It then holds back 8% for the container (the index data that lets a player seek), leaving 73.6 million bits to spend. Divide that by the clip's length in seconds and you have the total bitrate you can afford for video and audio together. A 60-second clip gets about 1,227 kbps in total. Audio takes its cut first, 128 kbps by default, and whatever is left goes to the picture. That is why length matters more than anything else: doubling the duration halves the bitrate available for every second of footage. See [what bitrate means](/blog/what-is-bitrate) for the basics.

What 10MB buys, by clip length

These figures come straight from the tool's own bitrate planner for a 10MB target, with audio at 128 kbps. A 30-second clip gets 2,325 kbps for video, which is plenty for a clean 720p clip. A 60-second clip gets 1,099 kbps, fine for 720p or a calm 1080p. A 2-minute clip gets 485 kbps, which looks soft on fast motion. A 3-minute clip gets 281 kbps, where detail turns blocky. A 5-minute clip gets 117 kbps, which is about the lowest anything stays watchable. Treat these as a rough guide: a static talking head compresses far better than a skateboard clip at the same bitrate, because the encoder has less change to describe between frames. If your clip is longer than about two minutes, plan to trim it or accept a visibly rough result.

How to compress a video to 10MB

Open the [Compress Video tool](/compress-video) and drop in your MP4, MOV, WebM, MKV or AVI file. Switch to the by-target-size mode. The presets are Discord at 20MB, Discord Nitro Basic at 50MB, email at 25MB and WhatsApp at 16MB, so for 10MB use the custom size box and type 10. Pick an output resolution if you want to give the picture a smaller footprint, then start. The tool encodes with H.264 at a fixed bitrate worked out from your clip's length, with a cap on peak bitrate so the file does not balloon during busy scenes. When it finishes, check the size shown next to the original before you upload. Everything happens on your device, which matters for private footage.

When the clip is too long for 10MB

There is a hard floor. The tool will not let video drop below 100 kbps, because below that it is unwatchable. If your clip is so long that even the lowest audio setting (64 kbps) cannot keep video at 100 kbps, the encode still runs, but the result will come out larger than 10MB and the tool warns you. A 10-minute clip is an example: at the floor it comes to about 164 kbps in total, and a 10-minute test clip encoded with the tool's settings came out at 12.9MB. Your options are to cut the clip shorter with [Trim Video](/trim-video), to aim for a bigger target such as the 16MB WhatsApp preset or the 20MB Discord preset, or to split the video into two parts. Squeezing a long clip under 10MB gives you a picture nobody wants to watch.

Getting more out of the same 10MB

Three changes help most, in this order. First, trim dead time at the start and end, since every second removed raises the bitrate for the rest. Second, lower the resolution: 720p at 485 kbps looks better than 1080p at the same bitrate, because the encoder has fewer pixels to cover with the same bits. See [how to resize a video](/blog/how-to-resize-a-video). Third, accept lower audio quality only as a last step, because the tool already drops audio through 128, 96 and 64 kbps on its own when the budget gets tight. If the output is stubbornly larger than you expected, your source may already be heavily compressed, which is covered in [why a video won't compress smaller](/blog/video-wont-compress-smaller).

Why it lands a little under 10MB

The tool aims below the limit on purpose. Because of the 8% overhead reserve and the decimal reading of MB, the finished file usually comes in a little under 10 million bytes rather than right at it. That is deliberate: missing a hard upload cap by a few kilobytes means the upload fails, while landing 3% under costs you nothing visible. The encode is a single pass at a calculated bitrate, not a slow two-pass search for the exact byte, since a second pass would double the time in a browser for a small gain. In a local test with the tool's own settings, a 60-second 720p test clip came out at 8.9MB for a 10MB target. If a site says 10MB but counts in binary (10,485,760 bytes), you have extra room. If you need a different limit, the general guide to [compressing video online](/blog/compress-video-online) covers the other presets.

Frequently asked questions

Try it on PixelTools — free, no upload needed