You name the size, it hits the size
Most tools offer high, medium and low quality. What you actually need is "under 4 MB". This works the other way round: set the target and a binary search finds the highest quality that still fits.
Image & video compressor
Pick where the file is going and the tool already knows the target size, then keeps the highest quality that still fits under it. Images and video both, and nothing leaves your device.
Target size 20 MB
Drop images or videos here
Or click to browse, or just hit Ctrl + V to paste a screenshot
Images: JPEG / PNG / WebP / GIF / BMP · Videos: MP4 / MOV / WebM / AVI
Other tools offer high, medium and low, then leave you guessing until something fits. This works the other way round: type 4 MB and a binary search finds the highest quality that stays under 4 MB. When the requirement is a hard ceiling, nothing else really answers it.
No looking up whether Gmail is 25 or 20 MB, what Shopee allows per product image, or how long a portfolio video can be. Pick the destination and both the size target and the dimension rules load together, down to Base64 inflating attachments by a third and YouTube rejecting WebP.
No separate tool for video. WebCodecs drives your GPU encoder; images go through Rust compiled to WebAssembly. Nothing is uploaded, cached or account-gated, the page keeps working offline once loaded, and you can verify that in your own dev tools.
Every platform caps uploads differently and fails differently. Open one for the full spec, or just use the dropdown above.
Most tools offer high, medium and low quality. What you actually need is "under 4 MB". This works the other way round: set the target and a binary search finds the highest quality that still fits.
No need to look up whether Gmail is 25 MB or 20 MB. Pick the destination, right down to details like Base64 inflating attachments by a third.
No upload, no temporary storage, no account. Compression runs in WebAssembly and WebCodecs inside your browser, and keeps working offline once the page has loaded.
No separate tool for video. WebCodecs drives the GPU encoder, AAC audio is copied through without re-encoding, and its real size is subtracted from the budget.
When the original is already under the limit, it is re-encoded at a visually lossless setting by default. A PNG screenshot turned into WebP often drops another 70–80% with nothing visible to show for it.
Re-encoding removes GPS coordinates, camera model and timestamps, so photos and screenshots do not leak your location.
The cap is only the gate. What actually stops an upload is usually more specific than "file too large".
| Platform / scenario | Per-file cap | What usually blocks you |
|---|---|---|
| Discord free | 20 MB | Clip length, not quality |
| Discord Nitro | 500 MB | Rarely an issue |
| Portfolio (document) | 4 MB | Unresized photos inside the PDF |
| Portfolio (media) | 10 MB | Phones default to 1080p |
| Gmail attachment | 25 MB | Base64 inflates files by a third |
| Outlook desktop | 20 MB | The recipient’s cap is stricter |
| LINE video | 300 MB / 5 min | Mobile upload timeouts |
| Shopee product image | 2 MB | Phone originals start at 4000 px |
| Shopee product video | 30 MB | Duration must be 10–60 seconds |
| YouTube thumbnail | 2 MB | WebP is rejected outright |
| Instagram post | 1080 px | Nothing fails, it just gets crushed |
| WhatsApp video | 16 MB | Always re-encoded when sent as media |
| WordPress upload | 2 MB | PHP default; many hosts will not budge |
Those take your file and compress it with their parameters, you cannot specify how large the result should be. This one targets a size first, which is what you need when something has to be under a specific number to upload at all. They also upload your file to a server; this does not.
Images: JPEG, PNG, WebP, GIF and BMP in, WebP or JPEG out. Video: MP4, MOV, WebM and AVI in, MP4 out, browsers without WebCodecs fall back to a compatibility mode producing WebM or MP4.
Up to 30 files per batch. Per-file size depends on your device memory, a desktop handles roughly 1 GB videos fine, while phones are better kept under 300 MB.
Some loss is unavoidable, but it is kept to a minimum. Images use a binary search for the highest quality that still fits; video uses variable bitrate so complex scenes get more bits. Every result has a before/after slider, with a 1:1 view for checking detail.
Yes, pick straight from your camera roll, no transfer to a computer needed. Hardware-accelerated video works best in Chrome and Edge; Safari falls back automatically, slower but functional.