Image Compressor — Nothing Uploaded, Because Nothing Needs to Be
Compressing an image is three operations: decode it, optionally draw it smaller, and encode it again. Every one of those happens in the browser you are reading this in. Your pictures are not sent anywhere, because there is nothing a server could do here that your own device cannot — which is the part worth knowing before you put a photo of your passport into the first result on a search page.
Two settings do the work, and one of them matters far more than the other. Quality controls how much detail the encoder is allowed to throw away; 75 is the usual sweet spot, and below about 50 you start seeing smeared edges and blocks around text. Longest edge resizes the picture, and this is where the real saving lives. A 4000-pixel-wide phone photo displayed in a 900-pixel column is carrying about five times more pixels than any screen will use. Capping the longest edge at 1920px is plenty for a full-screen web image and 1280px is plenty for a blog post, and either will beat any amount of quality tuning at the original size.
Format is the third lever, and it comes with a caveat most compression pages leave out. WebP usually wins on photographs — Google's published measurements put it 25 to 34% smaller than JPEG at matched visual quality — and unlike JPEG it keeps transparency, which makes it the sensible default for the web. But the quality numbers are not comparable across formats: 75 in a JPEG encoder and 75 in a WebP encoder are different operating points, so a like-for-like slider setting is not a like-for-like comparison. Browser encoders are also not the best encoders, and on some images, particularly flat graphics and noisy ones, the browser's WebP comes out larger than its JPEG. Switching between the two buttons costs nothing and reads the real answer off your own image, which is worth more than any rule of thumb. JPEG remains the safe choice for a file you are sending to someone, since everything on earth opens it. PNG is lossless, which means the quality slider does nothing at all — the only saving available for a PNG is the resize, and if you are compressing a photograph that was saved as a PNG, converting it to JPEG or WebP is the single biggest win on this page.
Some honest limits. Re-encoding can make a file bigger rather than smaller: an already-optimised JPEG pushed back through a browser encoder at high quality often grows, because whatever produced it made better choices than the browser will. When that happens the file is marked "none" and you are offered the original instead of a worse copy dressed up as a saving. And JPEG has no transparency, so a cut-out logo converted to JPEG gets a white background — images that actually contain transparent pixels are detected and flagged rather than quietly flattened.
One side effect is worth calling out because people usually want it: re-encoding drops every piece of metadata. EXIF, camera model, timestamps, and the GPS coordinates that phone cameras attach by default all disappear, because a canvas re-encode writes pixels and nothing else. If you are posting a photo taken at home, that matters more than the kilobytes.
The tool takes up to 20 images at once, shows the before and after for each, and lets you compare the compressed version against the original at full size before committing. Drag the quality slider and the preview follows it, which is the only reliable way to pick a number: the right quality for a screenshot of text and the right quality for a beach photo are not the same, and no default knows which one you have.
How to use the Image Compressor
- Drop images onto the panel, or click it to pick files. They stay on your device.
- Set the quality — 75 is a good starting point for photos, higher for screenshots and text.
- Cap the longest edge if the image is bigger than it needs to be. This saves more than quality does.
- Choose WebP for the web, JPEG to send to someone, or leave it on "same as input".
- Use "Compare with original" to check the result at full size before you keep it.
- Download each file, or "Download all" for the whole batch.