Clipunder

Runs in this tab · nothing is uploaded

Browser-side encoder · for Discord upload limits

Video Compressor for Discord

Pick the size your account allows, drop a clip, and get an H.264 MP4 that uploads on the first try. The encoding happens in this tab — the file never leaves your computer.

  • H.264 + AAC
  • No upload
  • No account
  • No watermark

Choose a video

Drop a video here

or choose a file from your computer

MP4 · MOV · M4V · WEBM · MKV

or paste a clip with Ctrl V

Choose the target size

Add a video to start.

01

What this handles

Anything the browser itself can decode. That is a shorter list than a desktop tool, and it is worth knowing before you drop a file:

Input formats and their status
ContainerCodec insideStatus
MP4 / M4VH.264, AV1Works
MOVH.264Works
WEBMVP8, VP9, AV1Works
MKVH.264, VP9Works
MP4HEVC / H.265Usually no — only with a platform decoder
AVIMPEG-4 Part 2, DivXNo — Chrome and Edge cannot open the container

Measured 2026-10-30 in Chromium 156 (Edge, Windows 11): MP4, MOV, WEBM and MKV files with H.264, VP9 and AAC audio all loaded and decoded; an MPEG-4 Part 2 AVI failed at the demuxer, and HEVC reported metadata but produced no frames. The page checks your file when you drop it, so you get told which of these it is instead of a stalled progress bar.

02

How a target size becomes a bitrate

The size limit is really a bitrate budget. Duration sets the divisor, so the same 10 MB is generous for 20 seconds and brutal for 10 minutes. Three numbers have to come out of the target before the encoder starts:

  1. Reserve roughly 1.5% of the target for the container, and subtract the audio track (96 kbit/s for stereo AAC).
  2. Divide what is left by the duration in seconds: that is the video bitrate in bits per second.
  3. Check bits per pixel per frame. Below about 0.06 the picture turns to mush, so the resolution steps down the ladder 1080p → 720p → 540p → 480p → 360p until the budget can carry it.

The first pass usually lands close, so the encoder measures the finished file and only re-runs if it overshot, scaling the bitrate by the measured ratio — twice at most, never changing resolution between passes. Worked example, measured on this machine: a 20.7 MB 1920×1080 clip, 30.44 s long, targeted at 10 MB, came out at 9.82 MB at 1280×720, all 30 frames per second, in a single pass that took 32 seconds.

03

Which size do I actually need?

Discord publishes a different number in different help pages, so here is each preset next to the limit it clears, with the page it came from:

Preset sizes and the Discord limits they clear
PresetWhat it clearsSource
10 MBEvery account and server: the Base file-sharing limit is 10 MBDiscord, Account Caps
25 MBNo Discord tier sits at 25 MB. It matches Gmail's 25 MB attachment capPreset for a different destination
50 MBNitro Basic, and Level 2 boosted serversDiscord, File Attachments FAQ & Server Caps
100 MBLevel 3 boosted serversDiscord, Server Caps
500 MBNitroDiscord, Account Caps

The two numbers that contradict themselves: Discord's File Attachments FAQ says the free limit moved from 10 MB to 20 MB in August 2026, while the Account Caps table still lists Base at 10 MB, and Nitro is listed as 500 MB in one table and up to 1 GB in another. Both pages are live today. That is why 10 MB is the default here: it is the only number every live Discord page agrees on.

04

Questions

Does this upload my video anywhere?

No. Your browser decodes the file, encodes it again, and hands you a download. The page makes no network request after it loads — there is no server in this flow to send a video to.

What format comes out, and will Discord play it?

H.264 video in an MP4 container with AAC audio, which is what Discord embeds and plays in chat on desktop, web and mobile. The file is not a ZIP, not a GIF, and carries no watermark.

How long does compression take?

Faster than realtime on a desktop CPU: on this machine a 30-second 1080p clip reached 720p in 32 seconds. Nothing is played back, so a 10-minute clip does not take 10 minutes — it scales with pixels and your CPU, not with the clock. Keep the tab in the foreground anyway: browsers throttle background tabs.

Why is my result a little under the target?

The last pass is capped by the bitrate budget rather than filled to the byte, and container overhead is unpredictable to the kilobyte. Landing 2–8% under is the point: a file that just fits is a file Discord accepts.

Can I compress several videos at once?

No, and that is deliberate. This page does one file and does it in your tab; a queue would mean holding several decoders and several hundred megabytes of frames in memory at once, which is what makes browser compressors fall over on phones.

Does it work on a phone?

On Android Chrome, yes. iOS Safari has no video encoder exposed to the page, and this page detects that and says so up front rather than failing halfway through.

05

Sources