Image Compressor
Compress JPEG, PNG, and WebP images entirely in your browser — no upload, no sign-up. Drop in multiple files and download each compressed image instantly.
Drop images here or click to browse
Supports JPEG, PNG, WebP — multiple files OK
How compression works per format
PNG — PNG stores pixel data losslessly. This tool re-encodes using the browser's PNG encoder, which strips embedded metadata (EXIF, color profiles) and may apply a different zlib compression level. The pixel values are identical to the original.
JPEG — JPEG is always lossy. Every re-encode introduces slight generation loss. At 92% quality the difference is visually imperceptible, and stripping EXIF metadata (which can be 5–100 KB on photos from smartphones) often accounts for most of the savings.
WebP — WebP supports both lossless and lossy modes. This tool re-encodes at 92% quality (lossy), which typically reduces file size while maintaining excellent visual fidelity. If the source was already a lossless WebP, the result will be slightly lossy.
How to use
- Drop one or more images onto the upload area, or click to browse.
- Compression starts automatically — no settings needed.
- Review the original size, compressed size, and percentage saved for each file.
- Click Download next to each file, or Download all to save everything at once.
- If a file shows “already optimised”, the original is already efficient — keep it as-is.
Examples
- Simple: A smartphone photo saved as JPEG at full quality is 5 MB. The embedded EXIF data alone is 80 KB, and re-encoding at 92% reduces the image to ~1.5 MB — a 70% reduction with no visible quality difference.
- Developer workflow: A design team shares PNG screenshots and UI assets in a shared drive. Running them through the compressor strips metadata and re-optimises compression, reducing a 200 KB PNG to ~140 KB — useful when committing assets to a repository or shipping in a web bundle.
- Edge case: An already-optimised PNG exported from an image editor at maximum compression may come back larger after re-encoding, because the browser's PNG encoder is less aggressive than tools like optipng. In this case, the tool shows a warning and the original should be kept.
All compression happens in your browser using the HTML5 Canvas API — no image is uploaded to any server.
Frequently Asked Questions
- Is PNG compression truly lossless?
- Yes. PNG is a lossless format. The tool re-encodes the image using the browser's built-in PNG encoder, which may apply a different zlib compression level and strip embedded metadata (like EXIF data), resulting in a smaller file with identical pixel data.
- Does JPEG compression lose quality?
- JPEG is inherently a lossy format — every re-encode introduces some generation loss. This tool re-encodes at 92% quality, which is visually imperceptible to most people, but the result is not bit-for-bit identical to the original. The main savings come from stripping EXIF metadata and re-encoding at a consistent quality level.
- Is my image uploaded to a server?
- No. Everything runs in your browser using the HTML5 Canvas API. Your images are never uploaded to any server or transmitted anywhere.
- Why is my compressed image larger than the original?
- This can happen when the original image was already well-optimised, or when the browser's PNG encoder applies less efficient compression than the original tool used. In that case, keep the original — the tool will warn you and skip the download button.
- What formats are supported?
- JPEG (.jpg / .jpeg), PNG (.png), and WebP (.webp). GIF and SVG are not supported — GIF animation cannot be preserved through canvas re-encoding, and SVG is a vector format best minified as XML.