How to Compress Video to 100MB on Mac (Exact Bitrate Guide)

By Hieu Dinh

There are very few file size caps as common as 100 megabytes. Discord Nitro tops out there, Slack Pro attachments hover nearby, Reddit's native video uploader rejects anything larger, WhatsApp's media limit in many regions lands precisely at 100MB, and email providers pushed over to OneDrive or Google Drive start throwing friction past that mark too. If you work with video on a Mac, "compress video to 100MB" is a phrase you will type into a search bar more times than you would like to admit.

This guide is different from most. Instead of telling you to "drag a file in and hope," we walk through the exact bitrate math that guarantees a 100MB output — and then show you five methods to hit that target, from the one-click native macOS path to the FFmpeg command line.

Why 100MB Is the Magic Number

Before we touch any tool, it is worth understanding why this specific size matters. The 100MB ceiling is not arbitrary — it reflects a handful of platform limits that dominate modern video sharing:

  • Discord Nitro. Boosted servers allow 100MB uploads per file. Free accounts cap at 25MB, which is why a lot of 100MB compressions get recompressed again later — more on that at the end.
  • Slack Pro. File sharing is generous on Pro plans, but 100MB remains the practical limit most admins configure for channel attachments.
  • Reddit native video. Reddit's in-feed video player accepts up to ~1GB nominally, but uploads reliably succeed only below the 100MB threshold; beyond that, processing fails silently for many users.
  • WhatsApp status and media. Depending on the region and app version, WhatsApp caps video shares at 100MB (raised from the older 16MB limit in 2023).
  • Telegram free tier. 2GB is the official cap, but channel admins often enforce 100MB to keep things lean.
  • Gmail and Outlook. Both push you to Drive or OneDrive past 25MB, and the downloader experience degrades for recipients past 100MB — so it is a practical self-imposed ceiling.

One file, one size, dozens of destinations. Hitting 100MB exactly (or just below it) means a video you can drop anywhere without that dreaded "file too large" toast.

The Bitrate Math You Actually Need

Here is the only formula worth memorising:

Target bitrate (bits/sec) = (Target file size in bits) / (Video length in seconds)

That reads simply enough, but the unit conversions trip people up. A single megabyte (MB) is not 1,000,000 bits — it is 8,000,000 bits. So 100MB = 800,000,000 bits = 800 megabits total. Spread that across the duration of your clip and you have your ceiling.

Worked example: a 5-minute clip you want to land under 100MB.

100MB = 800 megabits (Mb) total
5 minutes = 300 seconds
Target bitrate = 800 Mb / 300 s = ~2.67 Mbps

Because containers and audio eat some of that budget, shave ~10% off for safety. So for this clip, you would target 2.4 Mbps video bitrate with something like 128 kbps audio, and you will land at roughly 95–98MB. Predictable. Repeatable. No guesswork.

Here is a cheat sheet for how much video 100MB actually buys you at various bitrates:

BitrateQuality NotesDuration in 100MB
1 Mbps720p or light 1080p; fine for screen recordings and talking heads~12 minutes
2 MbpsSolid 1080p for most footage; good balance of size and clarity~6 minutes
4 MbpsHigh-quality 1080p with complex motion; very close to original~3 minutes
8 MbpsNear-broadcast 1080p or light 4K; for short clips where quality wins~1.5 minutes

These numbers assume H.264. Switch to H.265 (HEVC) and you can roughly halve the bitrate for the same perceived quality — which is how Compresto squeezes 2GB files down to 100MB without obvious artefacts. If you want the full story on that codec tradeoff, our HEVC vs H.264 breakdown explains why HEVC is the default choice for size-constrained compression, and our what is video bitrate primer covers the variable vs constant bitrate nuances.

Method 1: Compress to 100MB with Compresto (Target-Size Mode)

If you do this regularly, stop doing arithmetic. Compresto is a native macOS app built around a feature most compressors still do not have: type the size you want, and it hits it.

The flow:

  1. Open Compresto and drop your video in.
  2. Choose Target file size and type 100MB.
  3. Pick H.265 (HEVC) as the codec — this gives you the most room under the ceiling.
  4. Click Compress.

That is the whole thing. Compresto calculates the required bitrate based on duration, reserves headroom for audio, and runs the encode through Apple Silicon's hardware video encoder. On an M-series Mac, a 2GB source compresses to 100MB in under 90 seconds — roughly 20x faster than HandBrake doing the same job on CPU.

Target-size mode uses two-pass encoding by default, which we will touch on in a moment, and that matters for hitting the number precisely rather than "somewhere in the neighbourhood." If you also want to preserve visual fidelity, pair target-size mode with Compresto's "preserve quality" slider — details in our guide on how to compress video without losing quality.

For broader context on Mac-native compression, we have a full walkthrough on compressing video on Mac, and a tuning guide for compressing large video files that goes deep on multi-gigabyte sources.

Method 2: QuickTime Player Export

QuickTime is already on your Mac, and it will get you to roughly 100MB for short clips — but without fine-grained control.

  1. Open the video in QuickTime Player.
  2. File → Export As → pick 1080p or 720p.
  3. Save, check the resulting size, iterate if needed.

The catch: QuickTime does not let you specify bitrate or target size. A 5-minute 1080p export often lands near 150–250MB depending on content, so you will likely need to drop to 720p or trim the clip to stay under 100MB. For anything where the exact size matters, move on to the next methods.

Method 3: HandBrake with Average Bitrate

HandBrake is free, open-source, and gives you full bitrate control. Perfect for hitting 100MB when you do not mind a few extra clicks.

  1. Install HandBrake from handbrake.fr.
  2. Load your source file.
  3. Under the Video tab, select H.265 (x265) as the codec.
  4. Choose Avg Bitrate (kbps) instead of Constant Quality.
  5. Calculate your target bitrate with the formula above and enter it. For a 5-minute clip aiming at 100MB on H.265, try ~2200 kbps video + 128 kbps audio.
  6. Check 2-Pass Encoding for accuracy.
  7. Encode.

HandBrake is CPU-heavy — a 2GB file can take 10–15 minutes on an M2 Pro compared to under two minutes in Compresto's hardware-accelerated path. But the control is excellent, and the price is right.

Method 4: FFmpeg Command Line

FFmpeg is the nuclear option. One command, total control. Here is the canonical pattern to compress a video to roughly 100MB assuming you want a specific bitrate:

ffmpeg -i input.mp4 -c:v libx265 -b:v 2200k -maxrate 2500k -bufsize 4400k \
  -c:a aac -b:a 128k -preset medium output.mp4

For a true target-size workflow with FFmpeg you use two-pass encoding:

# Pass 1
ffmpeg -y -i input.mp4 -c:v libx265 -b:v 2200k -pass 1 -an -f mp4 /dev/null

# Pass 2
ffmpeg -i input.mp4 -c:v libx265 -b:v 2200k -pass 2 -c:a aac -b:a 128k output.mp4

Swap libx265 for libx264 if you need maximum compatibility at the cost of ~40% larger files for the same quality. For macOS-specific hardware acceleration, use -c:v hevc_videotoolbox — faster but slightly less size-efficient than x265 software encoding.

If you want a friendlier command-line alternative, our guide on compressing video with VLC covers VLC's CLI and GUI transcoder, which sits comfortably between QuickTime and FFmpeg in complexity.

Method 5: Online Tools (With One Warning)

Services like Clideo, CloudConvert, and VEED offer "compress to 100MB" presets. They work, they are zero-install, and for a one-off 20MB source video there is nothing wrong with using them.

The caveat: your raw footage is being uploaded to a third-party server, processed there, and stored for some window afterward. That is fine for a stock-footage snippet; it is not fine for client work, unreleased product demos, or anything containing recognisable faces you do not control. When in doubt, keep compression local.

Online tools also tend to cap upload size at 500MB–1GB on free tiers, which rules them out for genuinely large sources anyway.

Why Two-Pass Encoding Matters for Hitting 100MB Exactly

Single-pass encoding applies a uniform bitrate guess across the whole video. If your footage has a mix of quiet dialogue scenes and action shots, single-pass either wastes bits on the dialogue or starves the action.

Two-pass encoding changes that. Pass one analyses the entire video's complexity frame-by-frame. Pass two uses that analysis to distribute bits efficiently — more for motion-heavy scenes, less for static ones — while still respecting your total size budget.

The practical difference:

  • Single-pass at 2.2 Mbps target: output lands anywhere from 85MB to 115MB depending on content.
  • Two-pass at 2.2 Mbps target: output lands within ~2% of your target, reliably.

Every method we covered — Compresto, HandBrake, FFmpeg — supports two-pass. Use it whenever the number matters.

Quality Trade-offs at 100MB

Here is the honest answer on quality: for 1080p clips under 10 minutes long, a well-tuned 100MB H.265 compression is visually indistinguishable from the original on a laptop screen. You will see differences on a 4K monitor if you look for them in complex motion scenes, but for the sharing contexts 100MB is built for — Discord, Slack, WhatsApp — nobody will notice.

Once you stretch past 15 minutes, or push into 4K territory, 100MB starts to show its limits. For those cases, consider:

  • Dropping resolution to 720p. A 30-minute 720p clip at 100MB looks great; the same clip at 1080p visibly degrades.
  • Trimming the clip. If the first 30 seconds are a slate or intro, cut them.
  • Using a larger target if the platform allows. Our compress video to 200MB guide covers the next threshold up.

FAQ

Can I really compress a 1GB video to 100MB?

Yes. A 10:1 reduction is routine with H.265 and modest quality loss. A 20:1 reduction (2GB → 100MB) is also achievable if the source is reasonably short or you accept a drop to 720p. The limit is duration — a two-hour 4K master will not gracefully fit in 100MB at watchable quality.

How long of a video fits in 100MB?

At 2 Mbps H.264 (solid 1080p), about 6 minutes. At 1 Mbps H.265 (decent 720p or light 1080p), about 20 minutes. At 4 Mbps H.264 (high-quality 1080p with motion), about 3 minutes.

What is the best codec for 100MB compression?

H.265 (HEVC) in almost every case. It delivers 1080p at bitrates where H.264 can only manage 720p, which is exactly what you need when the size is fixed and the duration is flexible. Use H.264 only if your destination platform rejects HEVC — rare in 2026, but it happens.

Does resolution matter when targeting 100MB?

Hugely. Dropping 1080p → 720p cuts required bitrate roughly in half for equivalent perceived quality. For any clip longer than 8 minutes, consider 720p as the default rather than fighting 1080p into a tight budget.

Why does my file keep coming out larger than 100MB?

Three usual culprits: you are using single-pass encoding (switch to two-pass), your audio bitrate is higher than you realised (128 kbps is plenty for most use), or the container overhead was not accounted for (reserve ~5–10% headroom below your target in the bitrate calc).

Should I compress to 100MB or a smaller size?

Match your destination. If it is WhatsApp or Discord Nitro, 100MB is the right call. For older Discord or email, you will want our guides on compressing video to 25MB, 8MB, 10MB, or 50MB. And if you are shifting formats along the way, MP4 to MOV has the container conversion basics.

The Fastest Path to 100MB

Five methods, one answer: if you compress videos to 100MB more than once a month, stop doing the math by hand. Compresto's target-size mode turns the whole process into three actions — drop the file, type 100MB, pick H.265 — and Apple Silicon's hardware encoder means a 2GB source lands on disk at exactly the right size in under 90 seconds.

For occasional compressions, HandBrake's two-pass mode is a solid free option. For one-off small files, QuickTime export is good enough. Online tools work if privacy is not a concern. FFmpeg is king if you live on the command line.

Whatever method you pick, the math is the same: 100MB is 800 megabits, divided by your duration, minus a safety margin. Hit that number and the file goes anywhere.

Download Compresto to get target-size compression that just works — Apple Silicon native, HEVC by default, exact 100MB output every time.

Ready to compress your files? Join thousands of creators using Compresto ⚡