Skip to main content
All posts
Video Compression·

How to compress a video to 8MB, 10MB, or 25MB

Calculate the exact bitrate required to fit MP4 and MOV videos under platform upload caps for Discord, email, and messaging apps without visible blur.

How to compress a video to 8MB, 10MB, or 25MB

Updated: November 5, 2026

Quick answer: File size equals bitrate multiplied by duration. To hit an exact limit like 8MB, 10MB, or 25MB, use the formula: Target Bitrate (kbps) = (Target MB * 8192 / Duration in seconds) - Audio Bitrate. A 60-second video aimed at Discord's 10MB limit needs a 1236 kbps video stream with 128 kbps audio.

Most video compressors give you vague sliders labeled "High", "Medium", or "Low". If your destination is Discord Free (10MB cap), an email attachment (20MB to 25MB limit), or WeChat (25MB ceiling), a vague slider frequently yields a file that is 100 KB over the boundary and gets rejected.

Hitting an exact file limit requires basic math rather than guesswork.

To bypass manual calculations and compress directly on your hardware, open the LessMB video compressor. For platform-tailored workflows, use our dedicated Discord video compressor or the email video compressor.

The target bitrate formula

Digital video size is determined by duration and total bitrate (video stream plus audio stream). Pixel resolution and frame rate influence visual sharpness, but bitrate dictates file weight.

Use this equation to determine your video encoder budget:

$$ \text{Video Bitrate (kbps)} = \left( \frac{\text{Target Size (MB)} \times 8192}{\text{Duration (seconds)}} \right) - \text{Audio Bitrate (kbps)} $$

Target Size Video Encoding Architecture

Here is how the constants work:

  • 1 megabyte equals 1024 kilobytes, which equals 8192 kilobits.
  • Audio streams in standard AAC format typically require 128 kbps for clear speech and music (or 96 kbps for voice-only recordings).
  • Container overhead (MP4 atoms and moov headers) consumes roughly 1% to 2% of the file, so aim for 97% of the platform limit.

Example calculation: 45-second clip targeting Discord 8MB

  1. Platform target: 8.0 MB. Safety target (97%): 7.76 MB.
  2. Total available bits: 7.76 * 8192 = 63,570 kb.
  3. Total bitrate budget: 63,570 kb / 45 s = 1412 kbps.
  4. Deduct 128 kbps stereo audio: 1412 - 128 = 1284 kbps.
  5. Result: Configure your video encoder to 1284 kbps at 1080p or 720p.

Bitrate lookup table for common platform caps

The matrix below shows calculated video bitrates across standard clip durations for 8MB, 10MB, and 25MB targets, with audio reserved at 128 kbps:

DurationTarget capTarget platformRecommended resolutionVideo bitrate (kbps)Audio bitrate
15 seconds8 MBDiscord legacy1080p (1920x1080)~4,100 kbps128 kbps
30 seconds8 MBDiscord legacy1080p (1920x1080)~2,050 kbps128 kbps
30 seconds10 MBDiscord Free1080p (1920x1080)~2,600 kbps128 kbps
60 seconds (1 min)10 MBDiscord Free720p / 1080p~1,236 kbps128 kbps
60 seconds (1 min)25 MBWeChat / Gmail1080p (1920x1080)~3,280 kbps128 kbps
120 seconds (2 min)10 MBDiscord Free720p (1280x720)~550 kbps128 kbps
120 seconds (2 min)25 MBGmail / Outlook720p / 1080p~1,580 kbps128 kbps
300 seconds (5 min)25 MBCorporate email720p (1280x720)~550 kbps128 kbps

When bitrates drop below 800 kbps, 1080p resolution spreads bits too thin across 2 million pixels, creating blocky motion artifacts. Downscaling to 720p (921,600 pixels) doubles the bits available per pixel and produces a cleaner picture.

Four steps to compress video to an exact size

1. Check clip length and audio requirements

Trim unused seconds from the beginning and end of your footage before encoding. Cutting 10 seconds from a 60-second video automatically expands the bitrate budget for the remaining 50 seconds by 20%. If your recording contains only speech, dropping audio from 128 kbps to 96 kbps frees up extra bandwidth for video clarity.

2. Downscale resolution when duration exceeds 90 seconds

For clips under 45 seconds, 8MB or 10MB accommodates 1080p without visible compression artifacts. Once duration exceeds 90 seconds, drop output resolution to 1280x720. For clips longer than 3 minutes targeting 10MB, drop to 854x480.

3. Apply two-pass or average bitrate encoding

Constant Quality (CRF) encoding fluctuates depending on scene complexity. An action sequence will produce a larger file than a static talking head. To hit an exact target size, use average bitrate (ABR) or two-pass encoding mode so the encoder balances complex and simple frames against your fixed cap.

4. Verify file size before sending

After encoding, inspect the generated file in your local file explorer. If your goal was 10.00 MB, confirm the byte count is below 10,485,760 bytes. A file reporting as 10.1 MB will fail strict upload validation.

Frequently asked questions

How do you calculate video bitrate for a target file size?

Multiply your target megabytes by 8192 to get total kilobits. Divide that number by the video duration in seconds, then subtract your audio bitrate (typically 128 kbps). The remainder is your video bitrate cap.

Why did my compressed video end up slightly larger than 8MB?

Container muxing overhead (MP4 box metadata) and variable bitrate spikes add 1% to 3% to final file size. To guarantee passing an 8.0MB threshold, set your encoder budget to 7.8MB.

Can a 5-minute video fit under 10MB and remain watchable?

Yes, but you must lower the resolution to 720p or 480p. At 300 seconds, a 10MB budget allows only 145 kbps for video, which causes severe macroblocking at 1080p but looks acceptable at 480p.

Is it safe to compress confidential work videos online?

Only if the tool operates entirely inside your browser. Avoid services that upload your footage to remote cloud queues. LessMB processes files on your local CPU and GPU via WebAssembly and WebCodecs.

Try it now — 100% in your browser

No upload, no sign-up, no watermark. Your files never leave your device.

Open Compress Video for Discord