Image Compressor
Compress a JPEG, PNG or WebP image in your browser: set quality 1–100, keep or change the format, compare sizes and download. No upload.
Your inputs and files stay in your browser
Drop images here or click to select files
PNG · JPEG · WebP
Lower quality = smaller file size
Choose an image first.
Compressed Image
Your browser can't encode lossy WebP, so a lossless WebP was saved and the quality setting was not applied. Choose JPEG for a smaller photo.
On this page
Shrink a JPEG, PNG or WebP image right in the browser: choose a quality from 1 to 100 and an output format, compare the original and compressed sizes, then download the _min file. The image is never uploaded.
Detailed Functionality
The compressor re-encodes one image at a time. Keep Original Format keeps JPEG as JPEG and PNG as PNG and saves any other input as WebP; you can also force JPEG, PNG or WebP. Quality works per format: JPEG uses it directly, PNG below 90 is reduced to a 256-colour palette (90 and above stays lossless), and WebP is encoded lossy by the browser at the chosen quality.
Re-encoding drops EXIF and other metadata such as camera model and GPS location; the EXIF orientation is applied to the pixels first, so phone photos keep their rotation. Transparent areas turn white when you save to JPEG. If the browser has no lossy WebP encoder (some Safari versions), a lossless WebP is saved and a note says the quality setting was not applied.
Compression runs in a Web Worker with Rust/WebAssembly and the browser's own WebP encoder, so the page stays responsive on large images and Cancel stops the job immediately. The file is read locally and never sent to a server.
Practical Examples
Photo to WebP: a 1920×1280 JPEG of 476.38 KB with WebP at quality 80 becomes 186.58 KB (Done! -61%) and downloads as photo_min.webp.
Stronger JPEG: the same photo as JPEG at quality 60 gives 167.27 KB (−65%); at the default 80 it gives 396.49 KB (−17%).
Screenshot: a 1280×800 interface screenshot (126.47 KB PNG) becomes 53.49 KB as WebP at quality 80, while lossless PNG at quality 90 gives 91.26 KB.
Nothing to gain: if the result is not smaller (for example, an already optimized file), both sizes are shown but the Done! badge stays hidden — keep the original.
How to Use This Tool
Choose an image
Click Choose file or drop a PNG, JPEG or WebP image onto the zone. A thumbnail with the file size and dimensions appears.
Set quality and format
Move the Quality slider (default 80%) and pick an Output Format: Keep Original Format, JPEG, PNG or WebP.
Compress
Click Compress Image. A long job can be stopped with Cancel.
Compare and download
Check Original: → Compressed: and click Download to save
<name>_min.<ext>.
Tips and Best Practices
- For photos, WebP or JPEG at quality 60–80 usually saves the most; keep PNG for screenshots and graphics with transparency.
- PNG below quality 90 switches to a 256-colour palette: fine for flat graphics, but gradients may band and the file is not always smaller.
- Saving a transparent PNG as JPEG fills the transparent areas with white; choose PNG or WebP to keep transparency.
- EXIF data, including GPS coordinates, is removed from the result — useful before publishing photos.
- If you see the note about lossless WebP, your browser cannot encode lossy WebP; pick JPEG for a smaller photo.