Free Tool

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

PNG — LosslessJPEG — Near-lossless (92%)WebP — Near-lossless (92%)

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

  1. Drop one or more images onto the upload area, or click to browse.
  2. Compression starts automatically — no settings needed.
  3. Review the original size, compressed size, and percentage saved for each file.
  4. Click Download next to each file, or Download all to save everything at once.
  5. 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.