ClearRec
CompressionHow-toCodecs

How to compress a screen recording without losing quality (2026)

Your screen recording is 80 MB and your email gateway caps at 10 MB. Here's the actual 2026 path to a smaller file — what bitrate, resolution, and codec actually control file size, with real before/after numbers from ClearRec.

M. H. Tawfik17 min read

The most common email I get from new ClearRec users isn't a bug report. It's "my recording is too big — how do I make it smaller?". Every recorder ever made has shipped this question, and every answer on the web in 2026 still oscillates between "use HandBrake" and "upload it to a free compression site". Both are usually the wrong answer. This post is the actual decision tree: what controls a screen recording's file size, in what order to turn the knobs, and the real before/after numbers from compressing a typical 1080p demo from 80 MB down to under 5 MB without making it look worse on the destination it's going to.

The 30-second answer

If you just want the practical guidance:

  1. Trim aggressively first. A 10-second clip is 6× smaller than a 60-second clip at the same settings. Cut before you compress.
  2. Drop the frame rate from 60 → 30 fps. Halves the file size for UI content. No perceptual loss.
  3. Drop the resolution from 1440p → 1080p (or 1080p → 720p). Cuts file size by ~55% per step. Imperceptible on most destinations.
  4. Lower the bitrate by 30-50%. Modern codecs (H.264, VP9) handle screen content at much lower bitrates than they advertise.
  5. Stay in MP4. Don't go to GIF "to compress". A GIF is on average ~15× bigger than the equivalent MP4.

The four knobs in order: trim, frame rate, resolution, bitrate. Most "compressed" videos lose quality because someone went straight to bitrate (or worse, to GIF) without doing the first three steps. The rest of this post is the why and the actual numbers.

What actually controls file size

A video's file size is, to within a few percent:

file size = (bitrate × duration) + container overhead

Container overhead (the MP4/WebM wrapper, headers, frame indices) is fixed at a few hundred KB for most clips. The interesting term is bitrate × duration.

Bitrate is the number of bits the encoder allocates per second of video. ClearRec's six quality tiers span 2.5 Mbps (Low) to 50 Mbps (Insane). A 60-second clip at 5 Mbps is roughly:

5,000,000 bits/sec × 60 sec = 300,000,000 bits = 37.5 MB

That's a single number to remember: a 1-minute clip at 5 Mbps is ~37 MB. Halve the bitrate, halve the file. Halve the duration, halve the file. They compound linearly.

What controls the bitrate the encoder picks depends on the mode:

  • CBR (constant bitrate): you tell the encoder a target bitrate and it hits exactly that, regardless of how complex the content is.
  • VBR (variable bitrate): you tell the encoder a target average and it adjusts within a range.
  • CRF (constant rate factor): you tell the encoder a quality target (a number from 0-51 for H.264, lower = higher quality) and it allocates whatever bitrate the content needs to hit that quality.

ClearRec uses CRF mode for the MP4 export (CRF 23 is the default, which is the long-running web convention for "visually transparent at reasonable file size") and a target-bitrate VBR for WebM. The practical implication: when you drop ClearRec from the "Ultra" tier to "Medium", the bitrate cap drops from 20 Mbps to 5 Mbps and the file size drops roughly 4×.

Resolution affects file size by changing the encoder's job. More pixels per frame = more data to compress = bigger file at the same bitrate. The relationship isn't perfectly linear because encoders are smarter than that, but as a rule of thumb:

  • 4K (3840×2160) is roughly 4× the bitrate of 1080p for equivalent quality.
  • 1440p (2560×1440) is roughly 1.8× the bitrate of 1080p.
  • 720p (1280×720) is roughly 0.45× the bitrate of 1080p.

Frame rate affects file size by changing how many frames per second the encoder has to encode. 60 fps is twice as many frames as 30 fps; modern inter-frame compression makes this less than a 2× cost (the extra frames are highly predictable deltas) but it's still close to a 1.5-1.7× increase.

Codec changes the compression efficiency at a given quality. At the same perceptual quality:

  • H.264 → baseline (call it 1.0×)
  • VP9 → roughly 0.65× the size
  • AV1 → roughly 0.5× the size

So the same clip in H.264 vs VP9 saves ~35% of file size at the same visible quality — but you trade codec compatibility (every device plays H.264; not every device plays VP9 reliably).

The four knobs, in the right order

The point of doing this in a specific order is that the early knobs are free (no quality loss) and the late knobs are the ones with trade-offs.

Knob 1: Trim. Free. Always do this first.

The single most over-looked compression step. A screen recording with 15 seconds of "uhh, let me find that" at the beginning has 15 seconds of bytes you're paying for. If your recording is 50% the wrong thing, you've already done 50% of your compression by trimming.

ClearRec's editor opens automatically after recording with [ and ] for frame-accurate trim handles. The Hangouts-style "trim before you send" habit is the highest-ROI compression skill you can build.

Concretely: a 60-second clip at 5 Mbps is ~37 MB. Trim it to the useful 20 seconds: ~12 MB. You've cut the file by two-thirds before touching a single codec setting.

Knob 2: Drop the frame rate. Almost free.

Screen content reads fine at 30 fps. UI animations, cursor movement, even most video-playback content shows minimal perceptual difference between 30 fps and 60 fps when you're watching at small sizes (typical chat-window playback at 800×450 or smaller). The exception is genuinely fast motion — gameplay, scrolling-through-a-list demos at high speed, video of physical motion — where 30 fps shows visible judder. For 95% of screen recordings, 30 fps is fine.

Going from 60 → 30 fps roughly halves the file size. ClearRec's Medium and Low tiers are already at 30 fps; the Ultra and High tiers default to 60.

TierResolutionFPSBitrate60-sec file size (MP4)
Insane4K60 fps50 Mbps~370 MB
Ultra1440p60 fps20 Mbps~150 MB
High1080p60 fps10 Mbps~75 MB
Medium1080p30 fps5 Mbps~37 MB
Low720p30 fps2.5 Mbps~19 MB

Dropping from Ultra to Medium for a 60-second clip cuts you from ~150 MB to ~37 MB — a 75% reduction — with most of that coming from the resolution drop and the frame-rate drop, with the bitrate drop doing the rest.

Knob 3: Drop the resolution. Cheap; sometimes free.

If the recipient is watching on a phone screen or in a small embedded player, 1080p is gilding the lily. 720p reads cleanly inline in Slack, Discord, Notion, and email previews on every modern device. Bug reports almost always look fine at 1080p; lecture-length captures look fine at 720p.

Dropping from 1080p → 720p cuts file size by ~55% at the same codec settings.

The exception: if the recording shows fine text at small size (a code editor with 11pt text, a UI with a lot of small labels), 720p starts to look soft. For those cases, stay at 1080p and use the frame rate / bitrate knobs instead.

ClearRec exposes this through the tier selector before you record. The best compression is the one you decide on before pressing Record. Recording at 720p and exporting at 720p is roughly twice as fast and twice as small as recording at 1080p and downscaling.

Knob 4: Drop the bitrate. Sometimes free; sometimes a quality trade.

The last knob, and the one most "compress your video" guides start with. The reason it's last in this post is that the first three knobs usually get you to the size target without needing to touch bitrate, and when you do need to touch bitrate, you have a better intuition for how aggressive you can be.

For screen content, modern codecs handle surprisingly low bitrates. Here's the same 60-second 1080p clip at progressive bitrates:

BitrateFile sizeVisual quality
20 Mbps150 MBIndistinguishable from uncompressed; massive overkill.
10 Mbps75 MBIndistinguishable from 20 Mbps at any normal viewing size.
5 Mbps37 MBIndistinguishable for UI content; slight loss on text-heavy scenes.
2.5 Mbps19 MBVisible softness on small text; fine for chat-window previews.
1 Mbps7.5 MBVisibly soft; OK for "is this the right page?" identification.
500 kbps3.7 MBHeavily compressed; useful for thumbnails or short loops only.

The sweet spot for "compressed but still good" is 2.5-5 Mbps for 1080p screen content, 1.5-3 Mbps for 720p. Below those, you start trading visible quality.

The composite path

Combining all four knobs on the original 60-second 1080p / 60 fps / 20 Mbps clip (~150 MB):

  1. Trim to 20 seconds → ~50 MB
  2. Drop to 30 fps → ~28 MB
  3. Drop to 720p → ~13 MB
  4. Drop to 2.5 Mbps → ~6 MB

150 MB to 6 MB, fits comfortably under every common attachment cap, looks fine in a chat thread. The video is still 20 seconds of UI demo; the receiver can't tell.

When to use what — by destination

Let me give you the actual size targets I aim for, per common destination:

DestinationFile-size targetRecommended settings
GitHub PR / issue comment< 5 MB1080p / 30 fps / 3 Mbps MP4, trimmed tight
Slack DM or channel< 10 MB1080p / 30 fps / 5 Mbps MP4
Discord (free tier)< 8 MB720p / 30 fps / 2.5 Mbps MP4
Email (Gmail/Outlook)< 10 MB720p / 30 fps / 2.5 Mbps MP4
Linear / Jira ticket< 5 MB720p / 30 fps / 2.5 Mbps MP4
Notion page embed< 5 MB1080p / 30 fps / 3 Mbps MP4
Twitter / X video tweet< 100 MB (their cap)1080p / 30 fps / 5 Mbps MP4
LinkedIn post video< 200 MB (their cap)1080p / 30 fps / 5 Mbps MP4
YouTube uploadNo real capHighest tier you have (the platform re-encodes anyway)
GitHub README.md hero< 10 MB (GIF)720p / 15 fps GIF with palettegen

A few patterns worth pointing out:

  • YouTube doesn't care. Upload the highest quality you have; their pipeline re-encodes to all the resolutions automatically. Trying to "save bandwidth" by pre-compressing for YouTube actually hurts your final quality because they're re-encoding a compressed input.
  • Twitter / LinkedIn re-encode aggressively. They take whatever you upload, run it through their own H.264 encoder at relatively low bitrates, and serve the result. Uploading at a wildly higher bitrate doesn't survive their pipeline; uploading at a much lower bitrate gets re-encoded again and looks worse. The 5 Mbps target is the sweet spot.
  • GIF for GitHub README is the only place GIF wins. Even there, MP4 in the PR comments is a better choice than GIF — only the actual README file forces GIF. (See our MP4 vs WebM vs GIF post.)

The two anti-patterns to avoid

A pair of compression habits that show up constantly and cost you quality without saving bytes:

Anti-pattern 1: "Convert to GIF to compress"

This is the opposite of compression. A 30-second 1080p MP4 at 5 Mbps is ~19 MB. The same clip as a GIF at 1080p is ~80 MB. The "compress to GIF" reflex is a holdover from a decade ago when GIF was the default for short loops; for screen recordings in 2026, GIF is the largest format, not the smallest.

The mental shortcut: GIF is for compatibility, never for size. If the destination accepts MP4, the MP4 is always smaller.

Anti-pattern 2: "Upload to a free compression site"

Every free compression site does one of two things:

  1. Re-encodes at a lower bitrate, which is something you could do yourself in 10 seconds without uploading your video to a third party. Most "free compressors" are server-side ffmpeg with one button.
  2. Inserts a watermark or upsell in the output.

Worse, they all require uploading the video, which:

  • Slows you down (upload + processing + download is slower than local re-encode)
  • Exposes the content (a screen recording often shows things you don't want a third party indexing)
  • Sometimes silently keeps a copy on their server

ClearRec runs the re-encode locally via ffmpeg.wasm — the same compression ffmpeg server side could do, executed inside the Chrome tab where the recording was made. No upload, no waiting, no terms of service to read.

Compressing an existing file (not a new recording)

If you've already recorded the video and now need to shrink it, the path depends on what you have available.

Option A: Re-record at lower settings (often the fastest)

For short clips, re-recording at lower settings is usually faster than re-encoding. ClearRec on Medium tier (1080p / 30 fps / 5 Mbps) re-records a 20-second demo in 20 seconds; ffmpeg re-encoding the original at the same settings takes ~12 seconds plus the time to remember the command. For workflows where the recording is cheap to redo (you're at your desk, the demo is small, you don't need a specific take), re-recording wins.

Option B: Re-encode with ffmpeg.wasm in the browser

If you can't re-record (the original was a one-shot moment, you're sending an old clip), drop the file into ClearRec's editor. The editor accepts an existing MP4 or WebM, lets you trim and re-export at any of the six quality tiers, and runs the full re-encode in the same Chrome tab — no upload.

The flow:

  1. Open ClearRec → click the file-icon → drop your video in.
  2. Trim if needed.
  3. Pick a lower quality tier (Medium or Low usually).
  4. Click Export MP4.
  5. The smaller file lands in your Downloads folder.

Option C: ffmpeg on the command line

If you're comfortable on a terminal:

# H.264, target 2.5 Mbps (good for 720p), web-optimized
ffmpeg -i input.mp4 -c:v libx264 -b:v 2500k -preset fast \
       -c:a aac -b:a 96k -movflags +faststart output.mp4

# Or CRF-based (target a quality level, let bitrate float)
ffmpeg -i input.mp4 -c:v libx264 -crf 28 -preset fast \
       -c:a aac -b:a 96k -movflags +faststart output.mp4

# Drop resolution to 720p and frame rate to 30
ffmpeg -i input.mp4 -vf "scale=1280:720,fps=30" -c:v libx264 -crf 23 \
       -c:a aac -b:a 96k -movflags +faststart output.mp4

CRF 23 is the long-running "visually transparent" default. CRF 28 gives noticeably smaller files at slight quality loss. CRF 18 is "indistinguishable from source" and rarely worth the file-size cost for screen recordings.

Option D: HandBrake

HandBrake is the GUI wrapper around ffmpeg that many people reach for. It works fine; the friction is that it requires installing a 100 MB desktop app for what is, fundamentally, the same ffmpeg encode that ClearRec runs locally in the browser. For one-off compression, the browser path is faster; for batch-processing a folder of recordings, HandBrake's queue feature is the better fit.

Frequently asked questions

Q: How can I compress a screen recording without losing quality? The phrase "without losing quality" is a partial truth. Truly lossless re-encoding is a special mode that produces larger files than CRF/VBR encoding, not smaller. What people actually mean is "without visible quality loss". Achievable: stay at CRF ≤ 23 in H.264, don't go below 1080p / 30 fps for content with fine text, and trim aggressively.

Q: What's the best video compression for screen recording? H.264 (libx264) at CRF 23 in MP4 is the sweet spot for 2026. VP9 in WebM is ~30% smaller at the same visual quality if you control the playback context. AV1 is another 20% smaller again, but encode speed is the trade-off.

Q: My screen recording is 100 MB. How do I get it under 25 MB? Trim first, then drop resolution to 720p, then drop frame rate to 30 fps. That sequence almost always lands a 1-minute clip under 25 MB without touching codec settings.

Q: Does compressing a video lose quality every time? Each re-encode loses some quality (decoded → re-encoded introduces small artifacts). Trimming, format remuxing, and -c copy operations are lossless. ClearRec's "fast cut" trim is lossless when boundaries land on keyframes; otherwise it re-encodes the boundary segments only.

Q: Can I make a screen recording smaller without re-encoding? Yes, if you only need to trim or change the container. ffmpeg -i in.mp4 -c copy -t 30 out.mp4 cuts the first 30 seconds without re-encoding. ClearRec does this automatically when your trim boundaries land near keyframes.

Q: What bitrate should I use for a 1080p screen recording? 5 Mbps is the sweet spot for inbox-friendly file sizes with no visible quality loss on screen content. 10 Mbps is "visually transparent on a 4K monitor"; 2.5 Mbps is "fine for chat-window playback".

Q: Why is my GIF so much bigger than my MP4? GIF has no inter-frame compression and a 256-color palette. It's a 1987 format that wasn't designed for video. A GIF is on average ~15× the size of the equivalent MP4 for screen-recording content. (Full breakdown.)

Q: Does ClearRec re-compress my recordings? Only when you change format or settings. The original recording is captured via Chrome's MediaRecorder API as VP9 in WebM; if you export as WebM with the same quality tier, ClearRec does a fast remux. If you export as MP4 (a different container and codec), it re-encodes with ffmpeg.wasm — locally, in the browser tab.

Q: Is it safe to use online video compressors? "Safe" depends on what's in the video. For public marketing footage, it's fine. For anything with internal UI, customer data, credentials, or NDAed content, you're handing it to a third party — read their privacy policy before you upload. The local-only path (ClearRec, HandBrake, ffmpeg on your own machine) avoids the question entirely.

Q: My compressed file looks blurry. What went wrong? Almost always one of: bitrate too low (raise to 2.5 Mbps minimum for 720p, 5 Mbps for 1080p), resolution dropped too aggressively for the source (a 4K source downscaled to 480p will look soft), or the wrong codec for the destination (some platforms re-encode poorly on input formats they don't expect).

The summary

The four-knob compression order: trim, frame rate, resolution, bitrate. In that order, each knob is cheaper than the next in terms of quality loss. Most "my recording is too big" cases solve in the first two knobs (trim aggressively, drop to 30 fps) without touching the destination quality.

The trap to avoid: compressing to GIF or uploading to a free converter. Both make the file worse, not better.

If you want the compression baked into the recording flow, install ClearRec from the Chrome Web Store. Six quality tiers, frame-accurate trim, MP4 / WebM / GIF export — and every operation runs locally in the browser, no upload, no waiting on a third-party converter.

See also