Image Compressor
Compress and resize images in batches. Location and camera data are removed. Nothing is uploaded.
- Never uploaded
- Works offline
- Free, no sign-up
Processed on this device. Nothing is sent to a server.
How to use the Image Compressor
- Step 1Add imagesDrop as many as you like: JPEG, PNG, WebP, AVIF or GIF.
- Step 2Choose format and sizeWebP is a safe default; AVIF is smaller but slower to make.
- Step 3Compare and downloadDrag the slider to check quality, then download one or all as a ZIP.
Smaller images, and no hidden data
Photos from phones and cameras are often 3–10 MB and 4000 pixels wide, far more than a web page or email needs. Resizing to 1920 or 2560 pixels and saving as WebP typically cuts them by 80–95% with no visible difference. AVIF goes further, especially for photos, but takes longer to encode.
Photos also carry EXIF metadata: the camera model, the date, and often the GPS coordinates of where the photo was taken. Every image is re-encoded from its pixels, so all of that is removed. The list shows exactly what was found in each file.
The encoders (libwebp, libavif, MozJPEG and OxiPNG) are the same ones used by Squoosh, compiled to WebAssembly and running in your browser.
Questions
Are my photos uploaded?
No. Images are decoded, resized and compressed in your browser. That’s also why it works offline and with no file count limit.
Which format should I use?
WebP for most websites: every current browser supports it and files are much smaller than JPEG. AVIF for the smallest photos when encoding time doesn’t matter. JPEG when a system only accepts JPEG. PNG for screenshots, logos and images that need sharp edges or exact colours.
Why did a file get bigger?
It was already well compressed, or you converted a small graphic into a photo format. Lower the quality, pick a different format, or keep the original.
Is GPS location really removed?
Yes. The new file is built only from the image pixels, so no EXIF, GPS, XMP or IPTC data is carried over. The image is rotated according to its orientation tag first, so it still displays the right way up.