Image Compressor
This compressor shrinks JPG, PNG and WebP images to a size you choose, several at once, without uploading anything. Set a maximum dimension and a target file size, pick your images, and each one is resized and re-encoded in your browser — off the main thread, so the page stays responsive. Every result shows its before and after size and the percentage saved.
updated
- ✓ Runs in your browser — nothing uploaded
- ✓ No sign-up
- ✓ Free, no limits
Where the savings actually come from
Two things make an image smaller, and they are not equally powerful. Lowering the encoder's quality setting discards detail within each pixel block. Reducing the dimensions removes pixels outright — and because area scales with the square of the width, this is almost always where the real saving is.
A photo straight off a modern phone is around 4000 pixels wide. Displayed in a document, an email or a web page it is rarely shown wider than about 1000. Those extra pixels are carried, stored and transmitted, and then thrown away by the renderer. Capping the longest edge at 1920 typically removes three quarters of the data before the encoder has done anything at all, with no visible difference on any screen the image will actually appear on.
This tool does both, in that order: it resizes to your maximum dimension first, then re-encodes at whatever quality is needed to reach your target file size. The default 1920 pixels and 1 MB suits nearly every everyday case — email attachments, upload forms, ticket systems and web pages.
A worked example
A typical modern phone photo, with the default settings, and what each stage contributes:
original 4032 x 3024 5.10 MB
resized 1920 x 1440 ~1.15 MB <- most of the saving is here
re-encoded 1920 x 1440 0.42 MB <- quality tuned to hit the cap
92% smaller, no visible difference on screenThe order of those two lines is the whole lesson. Resizing did the heavy lifting; the encoder only had to close the gap. A tool that compressed hard without resizing would have to destroy visible detail to reach the same figure.
Savings vary with content. Photographs of detailed scenes compress less than flat ones, and an image that is already small or already optimised may barely change — in which case the honest outcome is a file roughly the size it started at, which is better than a tool that pretends otherwise. Each result shows its own before and after so you can see which happened.
Compression runs in a Web Worker, on a separate thread from the page. That is why the interface stays responsive while a batch processes, and why compressing a dozen images does not freeze the tab.
Why compressing photos on a server is the wrong default
Compression is the most-uploaded operation on the web. Everyone hits an attachment limit eventually, searches for a compressor, and drops their files into the first result — which almost always means sending the originals to someone else's machine.
The originals are the problem. They are full-resolution, and unless the metadata has been stripped they carry the GPS coordinates of where each photo was taken, the capture time and the device details. People compress photos to attach to an insurance claim, a rental application, a marketplace listing, a support ticket. That is a set of images of homes, documents, damage and family, complete with location data, handed to an operator whose retention policy nobody has read.
The engineering reason it was built that way has largely expired. Canvas and Web Workers can resize and re-encode images in the browser at perfectly good speed, so the server round-trip buys nothing except cost and liability for the operator, and exposure for you.
Here the files stay on your disk. They are read by your browser, resized by your CPU, and written back locally. Same check as everywhere else on this site: open the Network tab and compress a batch, or turn off Wi-Fi and compress anyway. Nothing goes out.
Limits worth knowing
The target size is a target, not a guarantee. The tool adjusts quality to approach the cap you set, but an image with a great deal of fine detail may not reach a very aggressive figure without unacceptable damage, and it will stop rather than destroy the image to hit a number.
Compression is lossy and it is not reversible. Keep your originals — this writes new files and never modifies the ones you selected, but once you have deleted the source there is no way back to the detail that was removed. Repeatedly compressing an already-compressed image degrades it further each time, so always start from the original rather than from a previous output.
Transparency is preserved for PNG and WebP. Very large images are limited by your device's memory, since the work happens there — a batch of 50-megapixel files will be slower on an older phone than on a laptop, and there is no artificial cap either way.
Metadata, including location, is not carried into the compressed copy, because the output is written from decoded pixels. For images you are about to share that is usually the outcome you want.
Frequently asked questions
How much smaller will my images get?
Large phone photos routinely shrink by 80–95%, mostly because capping the dimensions removes far more data than lowering quality does. A 5 MB, 4032-pixel-wide photo capped at 1920 pixels and 1 MB typically lands around 0.4 MB. Each result shows its own before and after size so you can see exactly what happened.
Does compressing reduce quality?
Some quality is lost by design — that is how the file gets smaller — but at sensible settings it is invisible on screen. Most of the saving comes from resizing rather than from the encoder, and resizing an image that was larger than it will ever be displayed costs you nothing you can see.
Can I compress several images at once?
Yes. Select multiple files and each is processed and offered for download individually, with its own size saving shown. The work runs in a Web Worker on a separate thread, which is why the page stays responsive while a batch is processing.
Are my images uploaded?
No. Resizing and re-encoding happen entirely in your browser and the files never leave your device. This matters more than for most tools, because the originals people compress are full-resolution photos that usually carry the GPS coordinates of where they were taken.
Why didn't my image get much smaller?
It was probably already optimised, already small, or highly detailed. The target size is a target rather than a guarantee — the tool stops rather than destroying the image to hit a number. A result close to the original size is an honest outcome, not a failure.
Should I compress an image more than once?
No. Compression is lossy and cumulative, so each pass over an already-compressed file removes more detail permanently. Always start from the original. This tool writes new files and never modifies the ones you selected, so your originals remain intact.