Video Compressor
Make any video smaller β to an exact size, by a percentage, or at a quality you choose. Hardware-accelerated. Zero server uploads.
Drag & Drop a video file here
or click to browse (MP4, WebM, MOV, MKV, AVI)
How to compress a video
High-definition videos recorded on modern smartphones, digital cameras, or screen capture tools often generate massive files β easily 500 MB to 2 GB for just a few minutes of 1080p or 4K footage. When trying to share these files on Discord, send them as email attachments, or upload them to content management systems, you frequently encounter hard size limits.
Drop your video above and choose how to make it smaller: an exact target size, a percentage, or a quality level. For the common limits there are dedicated pages that open with the size already set βDiscord (under its 20 MB free limit),10 MB for strict forms,25 MB for email,50 MB for Discord Nitro Basic and upload forms, and100 MB for long recordings.
This tool works backwards from the number you care about. Your target size in megabytes divided by the clip's duration gives a total bitrate. The audio track and the container's own overhead are subtracted from that first, so the video gets what is genuinely left rather than the whole budget β the mistake that makes most "compress to 50 MB" tools hand back a 56 MB file.
The remaining bitrate then decides the resolution, not the other way round. Spreading 400 kbps across a 1080p frame produces a blocky smear; the same bitrate at 480p looks clean. The compressor walks a standard resolution ladder and picks the tallest rung the bitrate can carry at good quality, dropping high frame rates to 30 fps when that buys back a rung. If the encoder still overshoots, one corrective pass re-runs at a tightened bitrate so the result lands under your limit.
All of this runs through WebCodecs, the browser API that exposes your device's hardware video encoder directly. That is what makes it fast β compression usually runs several times quicker than real time, instead of the 1:1 playback speed that canvas-recording tools are stuck with. Your file never leaves the tab.
Frequently asked questions
How does client-side compression hit a target file size?
Target size Γ· duration gives a total bitrate. Audio and container overhead come out of it first, then the leftover decides both the video bitrate and the resolution. A corrective second pass runs only if the encoder lands over the limit.
How fast is it?
It uses WebCodecs, which hands encoding to your device's hardware. Expect several times faster than real time β a ten-minute clip typically finishes in a couple of minutes.
Are my videos uploaded to a server?
No. Demuxing, encoding and muxing all happen in your browser tab. Zero video data is transmitted over the network.
What formats are supported?
Upload MP4, WebM, MOV, MKV or AVI. Output is MP4 with H.264 video and AAC audio by default, which plays everywhere. Switch the codec setting to AV1 or HEVC for a better picture at the same file size, at the cost of slower encoding.
Which target size should I choose?
Use the limit of wherever the video is going: 19 MB for Discord without Nitro (its limit is 20 MB), 25 MB for Gmail and Yahoo attachments, 50 MB for Discord Nitro Basic and many upload forms, 100 MB for GitHub and many course platforms. Each has a dedicated page with a table of what fits. If there is no limit, choose a percentage or a quality level instead.