Quick start: compress your first image
- Upload — Drop PNG, JPEG, or WebP files into the drop zone. Batch mode supported.
- Set quality — Start at the default 80%. For photos, 75–85% is the sweet spot where compression is invisible to most viewers. For screenshots with text or UI elements, stay above 85% to keep text crisp.
- Compare and download — Each result shows the before/after file size. Download individually or grab all as a ZIP.
How the compression works technically
The compressor uses the browser's native Canvas API to re-encode images at a controlled quality level.For JPEG and WebP: When you call canvas.toDataURL('image/jpeg', 0.8), the browser's built-in encoder applies DCT (Discrete Cosine Transform) quantization — the same mathematical step used by Photoshop's "Save for Web" and FFMPEG's libx264. Higher quantization = more data discarded = smaller file but lower quality. At 80%, the change is essentially invisible to human vision because the discarded information falls mostly in high-frequency spatial bands the eye cannot resolve at normal viewing distances.
For PNG: There are no pixels to discard. Instead, the tool strips embedded metadata: EXIF camera data, GPS coordinates, ICC colour profiles, and comment blocks. A typical camera JPEG can carry 30–120 KB of metadata — removing it is entirely lossless.
Impact on Core Web Vitals
Google's Largest Contentful Paint (LCP) is directly affected by image weight. If your hero image is 1.2 MB and you compress it to 180 KB, the browser downloads it ~6× faster on a mobile connection — and your LCP improves by roughly the same factor. This is the single highest-impact optimisation most websites can make without any code changes.Format comparison: which to choose
| Format | Best for | Transparency | Typical compression ratio |
|---|---|---|---|
| JPEG | Photos, complex scenes | No | 70–90% reduction at q=80 |
| WebP | Web images, photos + graphics | Yes | 25–35% smaller than JPEG at same quality |
| PNG | Logos, UI screenshots, text | Yes | Lossless only — metadata strip saves 5–30% |