Compress a video for a specific app or service
Seven pages, one compressor. Each opens at a ceiling that suits where the video is going, and each explains what that platform does to the file after you hand it over, which is usually the part that decides how it ends up looking. If you already know the number you need, the size pages are the shorter route.
Pick where it is going
- Compress video for Discord 9 MB Gameplay clips and a hard attachment ceiling. The classic case.
- Compress video for WhatsApp 15 MB A 16 MB ceiling, a second round of compression, and a lot of phones that cannot decode HEVC.
- Compress video for email 20 MB Gmail, Outlook and corporate mail servers. Often the case for a link instead.
- Compress video for X (Twitter) 50 MB A duration cap that depends on your tier, and a transcoder that re-encodes everything.
- Compress video for Reddit 25 MB Native hosting that re-encodes, splits the audio, and hands back a softer 1080p.
- Compress video for Telegram 25 MB Limits measured in gigabytes. Compressing here is about the recipient, not the cap.
- Compress video for Slack 20 MB Shared workspace storage, a retention window on the free plan, and screen recordings.
The figure on each card is the ceiling the tool opens with on that page. It is a starting point, not the platform's limit — type your own number if you know it.
What all of these have in common
The platforms here split into two kinds, and it is worth knowing which one you are dealing with before you touch a setting. Discord, Slack and an email attachment keep the file you gave them and hand the same bytes back out; the limit is a hard wall and your compression is the last thing that happens to the video. X, Reddit and WhatsApp do the opposite. They decode your upload and encode it again to a budget of their own, and what anybody watches is that second encode. Telegram does either, depending on which of its two send buttons you press.
Where the platform re-encodes, the instinct to compress as hard as possible is wrong. Whatever you hand over is the ceiling on what anyone can receive and the platform will lower it from there, so compress gently, toward the top of what is allowed. A file already full of blocking gives the second encoder your artefacts to preserve instead of your picture to encode, and it preserves them faithfully.
What none of them lets you do is avoid the trade. A file size is a bitrate multiplied by a duration, and if the duration is fixed then something has to give. Compressing first is how you choose which thing gives — resolution, frame rate, length, or the fine detail in a frame — rather than letting a platform choose for you at a quality level set against its bandwidth bill.
The last thing they share is that the obvious way to solve this makes it worse. A free compression website is a stranger's server, and the videos people most need to shrink tend to be gameplay capture with a desktop behind it, a work screen recording, or something sent in a chat they chose for its privacy. Every page here runs FFmpeg compiled to WebAssembly inside the tab, on your own CPU, and transmits nothing. How that works, and how to check it.
If the destination is not the problem
- Compress to a target size — when you know the number and just need to hit it.
- Compress by format — start from the file you have, whether that is a MOV off an iPhone or an AVI from a camcorder.
- Video file size calculator — run the arithmetic before you commit to an encode.
- The blog — bitrate, CRF, H.264 against H.265, and why iPhone video is so large.