Image & video compressor

Compress it to fit, exactly

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.

Method
Targets a byte size, not a quality preset
Privacy
Nothing is uploaded, it runs in your browser
Handles
Images and video, up to 30 files at once
Cost
No account, no install, free
Picking a destination loads its target size

Target size 20 MB

Scales down proportionally, never crops. May shrink further if the target size demands it.
Compressed by default at near-lossless quality

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

Why this one and not any other compressor

  1. You say the number, it hits the number

    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.

  2. Fourteen platform limits already loaded

    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.

  3. Images and video, both on your own machine

    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.

What makes this different

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.

Every platform limit is already loaded

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.

Files never leave your device

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.

Images and video in one place

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.

Files that already fit still get compressed

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.

EXIF stripped automatically

Re-encoding removes GPS coordinates, camera model and timestamps, so photos and screenshots do not leak your location.

Every limit at a glance

The cap is only the gate. What actually stops an upload is usually more specific than "file too large".

Platform / scenarioPer-file capWhat usually blocks you
Discord free20 MBClip length, not quality
Discord Nitro500 MBRarely an issue
Portfolio (document)4 MBUnresized photos inside the PDF
Portfolio (media)10 MBPhones default to 1080p
Gmail attachment25 MBBase64 inflates files by a third
Outlook desktop20 MBThe recipient’s cap is stricter
LINE video300 MB / 5 minMobile upload timeouts
Shopee product image2 MBPhone originals start at 4000 px
Shopee product video30 MBDuration must be 10–60 seconds
YouTube thumbnail2 MBWebP is rejected outright
Instagram post1080 pxNothing fails, it just gets crushed
WhatsApp video16 MBAlways re-encoded when sent as media
WordPress upload2 MBPHP default; many hosts will not budge

Frequently asked questions

How is this different from TinyPNG or iLoveIMG?

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.

Which formats are supported?

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.

Are there size or count limits?

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.

Does compression hurt quality?

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.

Does it work on phones?

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.