Video Compressor

Shrink a video to the exact size a platform demands, right here in your browser. Pick 10 MB for a Discord upload, 25 MB for an email, or type your own limit. The tool reads your file, works out the bitrate the target allows, re-encodes to H.264 MP4, and hands you the result — no upload, no watermark, no account.

Compress a video to a target size

🎬
Click to upload or drag & drop
MP4, WebM, MOV, AVI, MKV, FLV, WMV, 3GP
File
Original size
Duration
Resolution
Mode:
Target size:
Processing...

How it works

Three steps and the file never leaves your device. Drop the video on the page, set the size you need, and press Compress. The page measures the video's duration, converts your target size into a bitrate, spreads that bitrate over the video and audio tracks, and encodes straight to an MP4 that plays everywhere. If the first pass lands over the target, the encoder drops the bitrate and runs again until the file fits. The result panel shows the original size, the finished size, and how much of the target it used.

Why a target size beats a quality slider

A size limit is a hard gate. Discord's free upload cap, a mail attachment row, a job portal, a visa form — each one rejects a file a megabyte over, and none of them care how good your footage looks. A quality slider answers a different question: it shrinks until the quality feels acceptable, whatever that costs in megabytes. Solving for size flips the problem around. The duration is known and the size is fixed, so the bitrate follows directly from arithmetic: target size times eight, divided by the duration, minus what the audio track is allowed. That number is not a suggestion — it is the budget the encoder has to live inside. This tool builds the whole pass around that budget, then checks the finished file against the target instead of trusting the encoder to be close.

Private by design

Nothing about your file travels anywhere. The video is opened with the File API, handed to a WebAssembly build of FFmpeg running in this tab, and written back to memory as an MP4 you download. You can watch the network tab while it runs: after the page and the encoder load, no data moves. That property is the whole reason the tool works for the files people are actually scared to upload — a work clip, a passport video, family footage. Uploader-based compressors put a copy on someone else's disk and delete it on trust; this one never has it.

Where exact targets matter

Common per-file upload size limits at time of publication
DestinationPer-file limit
Discord (free tier)10 MB
WhatsApp video message16 MB
Gmail attachment25 MB
Outlook attachment20 MB
Discord (Nitro)500 MB
Telegram2 GB

Every one of these numbers moves over time, which is why the chips say what they are and the finished size — not the label — is what the tool guarantees.

Features

Exact targets

Choose 10, 16 or 25 MB, or type any size; the encoder iterates until the file fits or reports honestly that it cannot.

Bitrate solved, not guessed

Duration in, bitrate out: the pass is built around the arithmetic of your own file before encoding starts.

Quality balance mode

When no size gate exists, three CRF levels trade picture quality against file size the ordinary way.

Resolution control

Keep the original size or step down to 1080p, 720p or 480p — lower frames are also faster to encode.

MP4 that plays everywhere

H.264 with AAC, progressive download enabled, no special codec needed on the other side.

Zero upload

The FFmpeg WebAssembly engine runs in this tab; your video stays on your device end to end.

Honest limits

Re-encoding is really work, and it happens on your machine. A long clip takes minutes, not seconds, because the encoder is CPU-bound in WebAssembly. The output is always H.264 with AAC audio at the highest generic compatibility, so an HEVC or AV1 source gets re-encoded down and loses the codec benefit it had. Files much over about 500 MB may exceed what the tab can hold in memory; for anything bigger, use a desktop encoder like FFmpeg or HandBrake. DRM-protected downloads and streams cannot be opened. If the target is unrealistic — a two-hour video into 10 MB, say — the tool says so instead of shipping a slideshow.

Frequently asked questions

How do I compress a video to 10 MB for Discord?

Drop the file, click the 10 MB preset, press Compress, and download the MP4. Discord's free plan allows uploads up to 10 MB, so the tool aims just under that and shows you the finished size before you go back to the chat.

What bitrate do I need for a 25 MB video of a certain length?

Take the target in megabytes, multiply by 8,192 (bits per byte times the megabyte), divide by the duration in seconds, and subtract roughly 100 kbps for the audio track. A 25 MB, 60-second clip lands near 3.2 Mbps of video. The tool does exactly this math and caps the encoder at the answer.

Why does compressing take so long on big files?

Every frame is decoded and re-encoded on your own CPU inside the browser. A desktop program uses all cores; the WebAssembly build here uses one. So a five-minute 1080p clip may take several minutes of encoding. When the video is high resolution, selecting 720p or 480p cuts both the work and the output size.

Will the quality loss be noticeable?

The encoder spends the whole bitrate budget, so quality is as good as arithmetic allows for that size. Small targets on long clips mean visible compression; short clips on generous targets usually keep text and faces clean. Compare a 10 MB and a 50 MB output of the same video and you will see it immediately.

Is my video uploaded to a server?

No. The file is read into the tab and encoded in WebAssembly on your device. You can confirm in DevTools: once the page and encoder are loaded, compression runs with the network idle.

Can I choose a platform preset instead of typing a size?

Yes. One click selects 10 MB for Discord's free tier, 16 MB for WhatsApp, 25 MB for an email attachment, or you can type any size. Platform limits change over time, so the finished size, not the label, is what the tool guarantees.

What happens if my file is too large or the target too strict?

Files approaching or passing about 500 MB risk the tab running out of memory during a re-encode; the page will say so rather than fail silently. If a target cannot be reached without wrecking the picture, the tool keeps the closest honest result and tells you the file still does not fit the target.

Does it work on phones?

Yes in modern mobile browsers, with real limits: large files and long encodes are heavier on a phone CPU. A short clip up to a couple hundred megabytes works; a feature-length encode belongs on a laptop.

Comments & Ratings

Be the first to comment.

References