Image compressor
Compress JPG, PNG or WebP images to a smaller file size right in your browser, with quality and resize controls. No upload.
JPG, PNG or WebP — compressed locally in your browser, never uploaded
How to use
Drop in a JPG, PNG or WebP image and it's compressed straight away in your browser. You'll see the original and new file sizes side by side, along with the percentage saved, so you know exactly how much smaller it got.
Use the quality slider to balance size against sharpness, optionally cap the maximum width to shrink large photos further, and pick an output format — WebP usually produces the smallest files, JPG is the most compatible, and PNG stays lossless. The preview updates live as you adjust the settings.
Because the whole thing runs locally, your photos never get uploaded to a server — ideal for personal images or anything sensitive. Download the optimised image when you're happy with the trade-off.
Examples
Shrink a photo under a form's size cap (e.g. below 1 MB or 100 KB) without leaving your browser.
Compress images before adding them to a page so it loads faster and scores better on Core Web Vitals.
Reduce a few megapixel photos to a size that sends quickly over email or chat.
Frequently asked questions
Are my images uploaded?
No. Compression happens entirely in your browser using the canvas API — your images never leave your device.
Which format gives the smallest file?
WebP usually wins for photos at the same visual quality. JPG is the most widely supported; PNG is lossless and best for graphics with sharp edges.
Why doesn't the quality slider affect PNG?
PNG is a lossless format, so it ignores the quality setting. To shrink a PNG further, reduce its width or switch to WebP/JPG.
Will it reduce the dimensions too?
Only if you set a maximum width — otherwise the pixel dimensions stay the same and only the file size drops.
Related tools
Resize images and convert between PNG, JPEG and WebP with a quality slider — all in your browser.
Encode any image as a Base64 data URI, with ready-to-paste CSS and HTML snippets.
Generate all the favicon and app-icon sizes from one image, with the HTML and manifest.
Strip comments, metadata and whitespace from SVG markup to shrink its size.
Create a QR code for any URL or text, customise the colours and error correction, then download it as PNG or SVG.