Compress video on your device, not in the cloud
Compress video on your device, not in the cloud?
Use the compressor when you need a smaller copy for a size cap. Compare the exported bytes with the input. A size target is the upper size you set. Compare the download with the input. The page shows the byte change.
Gmail Help: Send attachments with your Gmail message; WhatsApp Help: media and documents; WhatsApp Help: longer videos; Telegram FAQ
Last updated
Use the compressor when you need a smaller copy for a size cap. Compare the exported bytes with the input. A size target is the upper size you set.
Reviewed 9 October 2026
Check the file you actually got
Compare the download with the input. The page shows the byte change.
Set resolution, quality, or a megabyte target, then compare the same frame and the exported bytes.
Auto output is not always MP4: VP9 or AV1 writes WebM. Encoding runs in this tab with WebCodecs.
2026-10-09 single-sample production test
Three rows from one 10-second clip, recorded on 2026-10-09.
Anonymous clip: 10 seconds, 720×1280, 24 fps, 240 frames, H.264, no audio track, 9,491,383 bytes. All three runs kept Original size and FPS, Auto codec, quality 50.
| Preset | Size target | Output | Output bytes | Change | SSIM | Same-frame note |
|---|---|---|---|---|---|---|
| Balanced | Off | H.264 | 1439264 | −84.84% | 0.898303 | Same-frame comparisons showed damage to hair, accessories, and fabric. |
| Balanced | On, 5 MB upper target | H.264 | 4071380 | −57.10% | 0.955849 | Best detail of these three on this sample, still lossy. 5 MB is an upper target, not a precise output promise. |
| Smallest | Off | VP9 WebM | 949127 | −90.00% | 0.881243 | Detail loss. |
SSIM in this table is the score recorded for this clip.
All three outputs decoded 240 frames and the full 10 seconds. Matching frames were compared. No full real-time viewing or listening acceptance was performed. The original had no audio.
Rounded timing from that run
The UI showed about 1 / 1 / 2 seconds. Those readings are rounded. This run did not record an exact Chrome version.
Open the labs compression report
The labs compression report lists the 2026-10-26 color-bars export, 2976898 bytes to 149460 bytes.
The math: how file size actually works
Average video bitrate, audio bitrate, and duration largely determine the bytes. Mux and container overhead, plus encoder rate-control variation, still move the actual size away from a simple product.
Lowering resolution alone does not reliably reduce size when the target bitrate stays similar. A lower resolution can look sharper at a lower bitrate, rather than blocky, but the bytes still follow the bitrate budget, overhead, and rate control.
Audio bitrate cannot be ignored on tight limits: uncompressed or high-bitrate audio takes significant space. A 192 kbps stereo track consumes ~1.44 MB per minute. For 20 MB or 25 MB caps, dialing audio to 96–128 kbps AAC reclaims essential budget for video clarity.
Platform upload limits (2026 verified)
Upload caps are enforced at the transport boundary before playback:
- Discord — 20 MB for standard free accounts (updated August 2026), 50 MB for Nitro Basic, and up to 1 GB for Nitro (was 500 MB). Server Boost Level 2 is 50 MB and Level 3 is 100 MB, for members of that server only. Discord checks size before its own compression, including on mobile.
- WhatsApp — 64 MB default video send on slower connections; faster connections may default to 100 MB / 720p. HD is a separate quality setting. Document send is a separate path up to 2 GB.
- Email attachments — Gmail personal accounts: about 25 MB of attachments, then a Drive link. Outlook.com and internet accounts: 20 MB message size, including the attachment and the message. Exchange default: 10 MB, and an administrator can change it.
- LINE — consumer chat still has no official universal MB cap (photos+videos: 50 items per send). LINE VOOM, including Official Account VOOM posts (historically 500 MB / 20 min), ended 30 September 2026 around 11:00 JST. Account rollout varies; some Official Account content remains in LINE Home. Official Account broadcast video remains a separate 200 MB path. Chat and broadcast messaging continue. Album videos up to 5 minutes require LYP Premium / LINE Premium.
- Telegram — 2 GB per file for standard accounts; 4 GB for Telegram Premium.
- X (formerly Twitter) — 512 MB and 140 seconds for non-subscriber web uploads.
Containers and Codecs
- MP4 (H.264 / AVC + AAC) — usually broadly compatible. Actual device, browser, and chat-client support varies. Test the exported file on the recipient's playback path. A common sharing choice.
- WebM (VP8 / VP9 / AV1 + Opus) — royalty-free open standard offering superior compression density, especially with AV1. Great for web embedding, though some legacy email clients lack native preview.
- MOV (QuickTime) — Apple recording wrapper, often holding ProRes or HEVC. Can hold extensive device metadata; re-encoding to MP4 is a common sharing choice.
- WebCodecs — encoding runs in this tab. When this browser offers a hardware encoder, the compressor uses it.
Privacy and metadata
Raw camera footage can embed camera model, lens serials, creation timestamps, QuickTime udta user records, and GPS coordinates.
Re-encoding writes a new container and drops supported container tags. Pixel-domain watermarks stay. Inspect the downloaded file if you need to confirm what remains.
To check that the media file is not posted to this site: open browser DevTools (F12), switch to the Network tab, filter by Fetch/XHR, and compress a file. Other page requests can still appear.
Workflows and platform presets
- Keep the original camera master untouched in storage.
- If the send is Discord, open the Discord upload-size tool. For email, WhatsApp, or another size, open Video Compressor and load the file locally.
- Discord’s published non-Nitro cap is 20 MB; the Discord tool starts under that. See the limit note or compress a video to 20 MB. Email is a different job: compress for Gmail or Outlook.
- Published caps, each with a source, are on video size limits by platform.
- Compare exported bytes with the input, preview the same frame, then keep or discard the copy.
Related: Private video compression · Methodology.