Shrink JPG, PNG, and WebP images to a smaller size.
Updated
Reduce image file size without the hassle. Compress by quality, or set a target size in KB and let the tool find the best quality that fits. Great for faster websites and email attachments. Free compresses up to 3 images; Pro removes the limit and adds one-click ZIP. Everything runs in your browser — your images are never uploaded.
Drag & drop images, or click to browse
Compressed in your browser — never uploaded.
Runs entirely in your browser — nothing is uploaded.
Image compression reduces a file's size by re-encoding it with a lossy codec that discards detail you are unlikely to notice. This tool redraws each image at its original dimensions and re-encodes it in your browser, so nothing is uploaded and pixel size never changes. WebP files stay WebP. Every other input, including PNG and GIF, is saved as JPG, because PNG is lossless and rarely shrinks; any transparent areas become white in the process, so keep the original if you need transparency. You can compress by quality, on a slider from 10 to 95 percent, or set a target size in kilobytes and let a seven-step search find the highest quality that fits. If no quality reaches the target, you get the 95 percent version, which may still be larger than requested. Free use handles three images per batch with individual downloads; Pro removes the limit and adds a ZIP. Each result shows the old size, new size, and the percentage saved when it shrank.
Yes — choose "Target size", enter a value in KB, and the tool finds the highest quality that stays under it.
Compression is lossy for JPG and WebP, but at 60–80% quality the difference is usually invisible while the file gets much smaller.
No — compression happens locally in your browser using a canvas, so nothing leaves your device.
PNG is a lossless format with no quality setting, so re-saving it as PNG rarely makes it smaller. To actually reduce the size, the tool re-encodes PNG and GIF input as JPG, which is lossy and much more compact. Transparent areas become white in the result, so keep your original PNG if you need transparency. WebP input stays WebP.