Skip to content

Video compressor — fit a screen recording under 10 MB for GitHub

Free · no sign-up · runs in your browser

Compress a screen recording or any video to fit GitHub's 10 MB attachment limit, Discord's free upload limit or an email attachment. Choose the size, the resolution and whether to keep the audio; it runs in your browser and nothing is uploaded.

MP4, MOV or WebM — whatever your browser can play. Nothing is uploaded.

Size limit

Untick to remove the sound and give its bytes to the picture.

Runs in real time: a one-minute clip takes about a minute. Keep this tab in front while it works.

Compressed video

Your compressed video will appear here.

The video is played and re-encoded in this page. Nothing is uploaded — check your network tab.

A one-minute screen recording at Retina resolution is easily 50–100 MB, and the places you want to drop it into — a pull request, an issue, a Discord channel — stop at 10 MB. This tool works out the bitrate that fits your clip under the limit, scales it down if you ask, and re-records it in the page with the browser's own encoder. The file stays on your machine the whole time.

How it works

  1. 01Pick a video. Its duration and resolution are read locally.
  2. 02Pick the limit you need to get under. The bitrate is the size budget divided by the duration, with headroom kept back because browser encoders treat a bitrate as a target, not a ceiling.
  3. 03Choose an output height. 1080p is plenty for a screen recording; 720p roughly halves the pixels and is the first thing to try when the result is still too large.
  4. 04The video plays in a hidden player, each frame is drawn at the output size and the stream is recorded with MediaRecorder as MP4 (H.264) where the browser supports it, and WebM otherwise.
  5. 05Audio is kept by routing it through Web Audio straight into the recorder, so nothing plays out of your speakers. Untick it to drop the soundtrack and give its share of the budget to the picture.
  6. 06Recording happens in real time, so a 60-second clip takes about a minute. Keep the tab in front while it runs; browsers slow down hidden tabs.

Use cases

  • Attaching a screen recording to a GitHub pull request or issue on a free plan.
  • Posting a demo in a Discord or Slack channel without the upload being refused.
  • Emailing a bug reproduction under Gmail's 25 MB attachment limit.
  • Removing the audio track from a recording before sharing it.
  • Converting a .mov from macOS to an .mp4 that plays everywhere.
  • Shrinking a video you would rather not upload to an online compressor.

Frequently asked questions

What is GitHub's video size limit?

Videos attached to issues, pull requests and comments can be up to 10 MB on free plans and 100 MB on paid plans. MP4 and MOV both work, and GitHub plays them inline. Both limits are presets here.

How do I compress a video to under 10 MB?

Open it here, keep the GitHub (10 MB) preset, start at 1080p and press compress. If the result is still over, try 720p — it has less than half the pixels — or untick audio. For long clips, trimming is the only real fix: 10 MB holds roughly a minute of clean 1080p screen recording, not ten.

Why does compressing take as long as the video?

The browser's MediaRecorder records a stream as it plays, so it runs at playback speed. The upside is that it uses the hardware encoder built into your device and needs no download; a faster path would mean shipping a 30 MB copy of FFmpeg to the page first.

Why is the result slightly over the limit?

Browser encoders aim for the bitrate rather than guarantee it, and very static or very busy footage drifts either way. The tool aims for 85% of the limit to leave room. If it still lands over, choose a lower resolution or a custom limit a megabyte or two below the real one.

Will the output be MP4 or WebM?

MP4 with H.264 where your browser can record it — current Chrome, Edge and Safari can — because it plays everywhere. Browsers that can only record WebM produce WebM, which GitHub, Discord and Slack also play.

Is my video uploaded?

No. The video is played, drawn and recorded inside this page using browser APIs. There is no server step at any point, which you can confirm in your browser's network tab.

Related reading

More tools