How it works
There are two ways to make an image smaller: compress it harder, or store fewer pixels. They do not cost the eye the same amount, and the tool has to choose between them on every file.
Why not just lower the quality
The obvious approach is to keep every pixel and turn the JPEG quality dial down until the file fits. It works, and it produces something unusable. On a real 3000 × 2000 photograph, reaching 200 KB that way lands at quality 9: a mess of blocking artefacts, technically compliant and impossible to submit.
The reason is that the two levers fail differently. Removing pixels deletes information: the picture gets smaller, but what remains looks correct. Crushing the quality invents damage that was never in the photograph: blocks, halos, banding. Past a certain point, fewer pixels at usable quality read better than more pixels at ruined quality.
The quality floor
So the search never goes below quality 70, the bottom of the band where JPEG stays clean. If the target cannot be met at that quality, the tool reduces the dimensions and tries again, rather than pushing the dial further down.
The one exception is a target so tight that even the smallest sensible image will not fit. Rather than answer "impossible" to someone facing a hard upload limit, the tool then spends the quality it has left. It tells you what it did.
Finding the largest image that fits
Reducing dimensions in steps is crude: each step removes nearly half the pixels, so the first size that fits usually fits with room to spare, and that spare room gets spent on quality nobody asked for. The tool therefore walks back up, narrowing between the last size that failed and the first that worked, to find the largest image that still holds quality 70.
On that same photograph at a 200 KB target, the refinement is the difference between 949 × 633 and 1246 × 831: 72% more pixels for exactly the same file size.
The quality itself is found the same way, by halving the interval: eight passes land within a fraction of a point of the best value that fits.
It adapts to the photograph
How far the dimensions have to fall depends entirely on the content. A smooth portrait compresses cheaply and keeps most of its size; a dense city scene full of edges costs far more per pixel and shrinks further. Measured on five different photographs against the same 200 KB target, the results ranged from 77% of the original width down to 45%, all at quality 70 and all between 194 and 199 KB.
When nothing needs doing
If your file already fits and you asked for no resizing, it is handed straight back. Re-encoding a JPEG that is already small enough reliably makes it bigger: measured at 348 KB in, 474 KB out before this case was handled.
A PNG or HEIC is always converted, though, since that conversion is half of why people come here.
Choosing the output format
JPEG is the default because it is the one every upload form accepts. Two others are available when the destination allows them:
- WebP reaches the same visual quality in fewer bytes, between 11% and 52% fewer on the photographs measured in the format guide. Under a fixed ceiling that saving is spent on keeping pixels.
- PNG is lossless, so there is no quality dial at all: a size target can only be met by removing pixels, and on a photograph it will not be met. It is here for flat graphics and for transparency, which JPEG cannot represent.
Transparency survives WebP and PNG. It cannot survive JPEG, which has no alpha channel, so transparent areas are flattened onto white.
Turning an image
Each result carries two quarter-turn buttons. The rotation is applied to the pixels rather than recorded as a flag, so the file you download is upright in every viewer, including the ones that ignore the EXIF orientation tag.
It also means the turn is not free: unlike a lossless rotation it goes through the encoder, so set the turn before settling on a tight size target rather than after.
What it does not do
- No cropping and no colour correction.
- EXIF metadata is dropped whenever the image is re-encoded, which is what the Remove setting in the metadata row makes the default. It often carries the GPS location of the shot. The metadata viewer shows what was in there.
Nothing leaves your browser
All of the above runs inside the page, on your machine. The image is never transmitted, which is why it is instant and why you do not have to trust anyone about what happens to the file afterwards.