Image Compressor

Shrink a JPEG, PNG, or WebP image's file size with a live quality slider: see the before/after size and preview instantly, entirely in your browser.

runs locally on your browser. Your data never leaves your device.

Drag & drop a JPEG, PNG, or WebP image

or

Common Use Cases

Shrink a phone photo before attaching it to an email or a form upload
Compress screenshots or images for a website or blog post without losing much visible quality
Convert a transparent PNG to a smaller JPEG or WebP file for faster page loads
Compare quality levels side-by-side before choosing how much to shrink an image

About Image Compressor

A photo straight off a phone camera or a screenshot fresh out of an editor is often far larger than it needs to be for emailing, uploading to a form, or embedding on a web page, and most people don't have a dedicated compression app installed, so they either upload it as-is or turn to a random online converter with no clue what happens to the file in between. This tool does the shrinking directly in your browser: drop in a JPEG, PNG, or WebP image, drag the quality slider, and watch the compressed size and a live preview update instantly, with nothing ever leaving your device.

Under the hood it's the same approach a native photo-editing app would use: the image is decoded with the browser's own `createImageBitmap` API, drawn onto an in-memory canvas, and re-encoded with the canvas's built-in `toBlob` compressor at whatever quality percentage the slider is set to. JPEG and WebP are true lossy formats, so the quality slider has a real, visible effect on both size and appearance: lower it for a smaller file, raise it for cleaner detail. PNG is included as an output option too, but PNG is lossless by design, so the slider doesn't change anything there; picking PNG mainly matters if you need to preserve transparency or need a format that never introduces compression artifacts.

The before/after comparison is exact, not an estimate. Because the tool actually re-encodes the image every time you move the slider (debounced slightly so it doesn't fire on every intermediate value while dragging), the size shown is the real size of the file you're about to download, not a prediction. Switching from a transparent PNG or WebP to JPEG output automatically flattens transparency onto a white background first, since JPEG has no alpha channel; this is done for you rather than silently turning transparent areas black.

Once you're happy with the result, download it with one click. The whole pipeline (decoding, resizing internally to a sane working resolution for very large photos, re-encoding, and generating the downloadable file) runs locally using the Canvas API already built into your browser. Your image is never uploaded, transmitted, logged, or stored anywhere, even for a moment.

Frequently Asked Questions

Is my image uploaded anywhere while it's being compressed?
No. The image is decoded directly in your browser the moment you select it, and every step (decoding, recompression at your chosen quality, and generating the downloadable file) runs entirely on your device using the Canvas API. Nothing is uploaded, transmitted, logged, or stored anywhere.
What's the difference between JPEG, PNG, and WebP output?
JPEG and WebP are lossy formats: the quality slider actually controls how much detail is discarded to shrink the file, so lower quality means a smaller file. PNG is lossless, so the slider has no effect on it; choose PNG only if you need to preserve transparency or want zero compression artifacts, and expect a larger file as a result.
Why did my transparent image get a white background?
JPEG doesn't support transparency at all, so converting a transparent PNG or WebP to JPEG output automatically flattens any transparent areas onto a solid white background before compressing, since otherwise they'd render as black. Choose PNG or WebP as the output format instead if you need to keep transparency.
Will compressing reduce my image's dimensions?
No. Compression only changes file size and (for JPEG/WebP) visual detail, not the image's width or height, unless it's larger than a safe working resolution cap used to keep the tool responsive on very large photos, in which case it's downscaled proportionally before compressing.
What image formats can I upload?
Any common image format your browser can decode, including JPEG, PNG, WebP, GIF, and BMP. Whatever you upload, you can choose to export the compressed result as JPEG, PNG, or WebP regardless of the original format.