Compress video

Pick a target size, drop in a video, and the bitrate is calculated for your clip's duration. Encoding happens in this tab — the file is never uploaded.

Most compressors give you a vague quality slider and let you find out whether the result fits by trying to upload it. A target size is the number you actually care about.

Target
Uploaded to a server
0.00 KB
Processing
WebAssembly, this device
Offline engine
warming up

Don't take our word for it — check it yourself in DevTools.

Compress for a platform

Each of these targets a figure we verified against the platform, slightly under the published cap so the result actually uploads.

Current limits for every platform we track.
PlatformTierLimitApplies toSource
DiscordFree
Raised from 10 MB in September 2026.
20 MBPeopleDiscord — File Attachments FAQ
secondary checked
Discord's support site blocks automated requests, so this number could not be read from the vendor directly. Multiple independent reports dated September 2026 give 20 MB, citing Discord patch notes of 2026-09-08. Older pages still say 10 MB (correct from September 2024) or 25 MB (correct before that). Treat as needing manual re-confirmation.
DiscordNitro Basic
Listed as "50MB uploads" on the Nitro pricing page.
50 MBPeopleDiscord Nitro pricing page
primary checked
DiscordNitro500 MBPeopleDiscord Nitro pricing page
disputed checked
The same Discord pricing page states two different numbers: the plan feature list says "500MB uploads" while the plan comparison table says "1 GB" for Bigger file sharing. We publish the lower, more conservative figure. Both were read from discord.com/nitro on 2026-09-17.
Email (Gmail)Gmail, personal account
Published cap. Applies to the encoded message, not the file you attach.
25 MBPeopleGmail Help — Send attachments with your Gmail message
primary checked
Quoted verbatim: "For personal Gmail accounts, the limit is 25 MB."
Email (Gmail)Gmail, practical file ceiling18 MBPeopleGmail Help — Send attachments with your Gmail message
secondary checked
Derived, not published: 25 MB divided by the ~1.37x Base64 + MIME overhead. Google documents the 25 MB cap but does not state the encoded-size behaviour on that page.
TelegramBot API — send
Quoted: "Bots can currently send files of any type of up to 50 MB in size."
50 MBAPI onlyTelegram Bot API reference
primary checked
Bot API only. The consumer Telegram app has a much higher limit.
TelegramBot API — download
Quoted: "bots can download files of up to 20MB in size."
20 MBAPI onlyTelegram Bot API reference
primary checked
Bot API only. The consumer Telegram app has a much higher limit.
TelegramConsumer appnot confirmedPeopleTelegram FAQ
disputed checked
Not yet confirmed from a primary source. Widely reported as 2 GB, 4 GB with Premium.
WhatsAppBusiness API — video16 MBAPI onlyWhatsApp Cloud API — Media reference
secondary checked
Endpoint rejected automated requests; figure is from secondary reporting of the API docs.
WhatsAppConsumer app — medianot confirmedPeopleWhatsApp Help Center
disputed checked
WhatsApp's help centre rejects automated requests. Published third-party figures for consumer media range from 16 MB to 100 MB and contradict each other. The 16 MB figure that appears on most competitor tools is traceable to the WhatsApp Business API, not to the consumer app. Not published as fact until confirmed by hand.
WhatsAppConsumer app — document
Widely reported as 2 GB since May 2022. Sending as a document avoids media re-compression.
not confirmedPeopleWhatsApp Help Center
disputed checked
WhatsApp's help centre rejects automated requests. Published third-party figures for consumer media range from 16 MB to 100 MB and contradict each other. The 16 MB figure that appears on most competitor tools is traceable to the WhatsApp Business API, not to the consumer app. Not published as fact until confirmed by hand.

Full reference with sources and change history →

Compress to a specific size

How the target is hit

File size is bitrate times duration, so a target size and a known duration give you a bitrate directly. The encoder reserves 96 kbps for audio, subtracts a small safety margin, and encodes H.264 at the remaining rate with faststart so the result plays while it downloads.

That margin is why the presets aim below the published cap rather than at it. Container overhead and keyframe placement move the final size by a percent or two, and a file one byte over the limit is a failed upload.

The one case where the arithmetic is different is email, where the published limit is measured after the file is Base64-encoded: why a 24 MB video fails a 25 MB limit →

More on what runs where →