Compressing a video to 100MB means producing a file whose final byte count is at or below 100 × 1024 × 1024 bytes, roughly 104,857,600 bytes. Because a video file's size is governed primarily by bitrate times duration (plus negligible container overhead), reaching that target is really a question of choosing a low enough bitrate to fit a given clip length inside the budget. At 100MB, a five-minute (300-second) source can average about 2.8 Mbps; a two-minute (120-second) source can average around 7 Mbps; a 30-second clip has roughly 28 Mbps of headroom. Resolution and frame rate matter too, because shrinking them lets the encoder stay at a lower bitrate without obvious blockiness. Video Compressor takes that trade-off directly: it caps output width to 640, 1280, or 1920 pixels, frames to 24 or 30 per second, and clamps the bitrate it requests from the browser's MediaRecorder to between 180 kbps and 8 Mbps. After the source plays through, the tool reports the actual output bytes and the signed percentage change, then offers a WebM file for download.

Many readers arrive at this task after bumping into a 100MB limit on an email attachment, a course platform upload, a chat app, or a simple storage quota. The exact threshold varies, but the underlying problem is the same: shrink the file by enough that it crosses a round-number mark without making it unwatchable. The fastest way to think about the problem is to stop chasing vague "high quality" labels and instead calculate the average bitrate the output has to stay below, then pick a resolution and frame rate that the encoder can hit cleanly.

compress video to 100mb
compress video to 100mb

What "Compress a Video to 100MB" Actually Means

A video file's size is approximated by the formula bitrate × duration, with a small overhead for container and audio. Multiplying the budget in megabits by the clip length in seconds gives an average bitrate the encoder must stay below to fit. Converting 100 megabytes to megabits (× 8) yields 800 Mb. Dividing 800 Mb by the source duration in moments gives the average bitrate the output should target:

  • 30 seconds: 800 ÷ 30 ≈ 26.7 Mbps average
  • 2 minutes (120 s): 800 ÷ 120 ≈ 6.7 Mbps average
  • 3 minutes (180 s): 800 ÷ 180 ≈ 4.4 Mbps average
  • 5 minutes (300 s): 800 ÷ 300 ≈ 2.7 Mbps average

For example, a 3-minute screen recording that needs to land at or below 100MB has an average bitrate budget of roughly 4.4 Mbps. If the encoder asks for 5 Mbps the file will overshoot; if it asks for 3 Mbps it will land comfortably under. Codec efficiency, scene complexity, and audio bitrate all shift that average up or down, which is why a fixed bitrate is never a guarantee of a fixed file size. The number to keep in mind is the bitrate budget per second of footage, not the absolute setting on the slider.

Resolution and frame rate act as guardrails. A 4K clip at 60 fps needs much more bitrate to look clean than a 720p clip at 24 fps, so the only realistic way to land at 100MB for longer clips is to lower resolution, lower frame rate, or both. Any tool that targets 100MB is therefore making three coupled choices behind the scenes: how wide the output can be, how many frames per second to encode, and what bitrate to ask the encoder for.

Why Video Compressor Fits a 100MB Target

Video Compressor is built around the same trade-off the math describes. It accepts one browser-decodable video no larger than 500 MiB, five minutes long, or 3840 × 2160 pixels of decoded area. Decode, Canvas drawing, MediaRecorder encoding, and download all happen inside the current tab. The tool does not upload the source, so a confidential screen recording or client deliverable stays on the device until the user downloads the WebM result.

Three presets expose the trade-off directly rather than asking the user to pick a bitrate blindly. Each preset picks a maximum output width, a frame rate, and a bits-per-pixel target that is converted into a requested recorder bitrate, then clamped from 180 kbps to 8 Mbps. The actual bytes and percentage change are reported after encoding, so the result reflects what the browser encoder actually produced rather than a marketing estimate. Readers who want a deeper walk-through of the local-processing angle can read how to compress video file size without uploading.

How to Compress a Video to 100MB

  1. Open Video Compressor in a current desktop browser. Use the latest Chrome, Edge, Firefox, or Safari release so the WebM MediaRecorder path is supported.
  2. Choose a browser-decodable source file. The name may end in MP4, WebM, MOV, M4V, or Ogg, but successful decoding still depends on the codec installed in the browser. A valid extension cannot make an unsupported codec decodable.
  3. Check the source against the hard limits: 500 MiB, 5 minutes, and at most 3840 × 2160 pixels of decoded area. Anything outside those limits produces an error and no download.
  4. Pick the preset that matches your 100MB target. Short clips that need to land well under 100MB usually do best on Small; clips closer to the five-minute ceiling usually do best on Balanced; clips with lots of spare bitrate budget can use Quality.
  5. Start compression and keep the tab open and focused while the source plays in real time. A two-minute source therefore takes about two minutes, because MediaRecorder observes the Canvas stream while the source plays.
  6. When encoding finishes, read the reported output dimensions, input bytes, output bytes, and percentage change. The percentage is calculated only from the two actual Blob sizes, so a positive number means the file shrank and a negative number means it grew.
  7. Download the generated WebM, then play it through to the end in a player that supports VP8 or VP9. Confirm picture, sound, duration, and final size before deleting the original.

Comparing the Three Presets for a ~100MB Output

The table below shows the preset boundaries the tool enforces. The actual requested bitrate is computed from a bits-per-pixel heuristic and clamped to 180 kbps–8 Mbps, so two clips of the same duration can request different bitrates depending on motion and detail.

PresetMax widthFrame rateBitrate rangeTypical use
Small640 px24 fps180 kbps–8 Mbps (clamped)Long or noisy clips that must land well under 100MB
Balanced1280 px30 fps180 kbps–8 Mbps (clamped)Most screen recordings, talks, tutorials up to a few minutes
Quality1920 px30 fps180 kbps–8 Mbps (clamped)Short clips with plenty of bitrate budget; preserves more detail

For most readers trying to land exactly at 100MB, the relevant lever is duration. A 30-second clip can stay on Quality without trouble; a 5-minute clip almost certainly needs Small or Balanced and a correspondingly lower requested bitrate. If a preset lands above 100MB, switching from Balanced to Small typically drops the file enough to fit because the width cap drops from 1280 to 640 and the frame rate drops from 30 to 24 fps.

What the Tool Will and Won't Do

The tool reports the actual change in bytes and never labels a larger file as a reduction. Compression is content dependent: a low-motion animation can become much smaller, while noisy footage, grain, camera shake, rapidly changing detail, or an already efficient source can produce a similar or larger file. If a preset does not suit the clip, the practical fix is to try another preset, not to repeat the same one.

Video Compressor preserves the source aspect ratio, never enlarges the source, and rounds output dimensions down to even pixel values for broader codec compatibility. Audio is included when the browser exposes a capturable audio track through HTMLMediaElement captureStream. The source plays audibly during real-time processing, so device volume matters if a track is exposed. Subtitles, chapters, attachments, rotation tags, color metadata, HDR signaling, and many other container features are not preserved.

WebM is the only output container because browser MediaRecorder support for generated MP4 remains inconsistent. The recorder tries VP9, then VP8, then generic WebM according to the browser's reported support, so two browsers can produce files of different sizes from the same source and preset. For archival masters, professional delivery specifications, exact codec profiles, two-pass rate control, fixed keyframe intervals, subtitle preservation, or deterministic cross-platform output, a maintained desktop encoder such as FFmpeg with a reviewed command is the right tool. Browser MediaRecorder behavior is documented at MDN's MediaRecorder reference.

Verifying the Result Before You Delete the Original

Encoding runs in real time and cannot be sped up from the page, but the output is a normal WebM file that can be played and inspected immediately. Open the download in a modern player, scrub to the end, and confirm that the total duration matches the source. Listen through at least one section that contains speech or music to confirm the audio track is intact where one was expected. Check the file size in the operating system's file properties to confirm the actual bytes match the figure the page reported.

If the file overshoots 100MB, switching presets and re-running is the fastest path: from Balanced to Small for length or noise, or from Quality to Balanced when the original was already tight on bitrate. The original is never modified, and nothing is uploaded, so failed attempts cost only the wait. Keep the source on disk until the downloaded WebM has been fully verified for size, duration, picture, sound, and compatibility with the destination where it will be used.

Related reading: Compress a Video to 10MB Locally in Your Browser.