CompressPictureA PictureEditor.com tool

Guide

Why this JPEG will not get smaller

Some files give up half their size on the first pass and some give up three percent however hard you push. The difference is not the tool. It is what was already done to the file before it reached you.

If you are here because a compressor reported a one percent saving and you assumed it was broken, it probably was not. Below is how to tell which of the three common cases you are in, and what each one actually calls for.

The floor is set by the pass that made the file

A JPEG encoder divides each block's frequency coefficients by entries in a quantisation table and rounds the results. Whatever rounds to zero is gone, and the table used is written into the file. When you re-encode, you are quantising numbers that have already been quantised: the fine detail that a low-quality table would have removed was removed the first time.

So the second pass has very little left to find. What it does still have is the ability to do damage, because the new table does not line up with the old one and the rounding errors compound. That is the shape of the curve people run into: the saving falls away much faster than the loss does.

Three shapes of stuck file

One: the file is already efficient

Anything that has been through a social platform, a messaging app or a website's own image pipeline has been compressed by something that does this for a living. There is nothing left on the table. The right response is to stop — and if the file is still too big for what you need, the problem is the pixel count, not the quality.

Two: the picture has too many pixels for the target

A byte cap and a pixel count are in direct competition. Twenty kilobytes across twelve million pixels is one byte for every six hundred of them, and no encoder writes a photograph that thin while it still looks like a photograph. When a cap is unreachable at the quality floor, that is what has happened, and the only remaining lever changes the picture's dimensions rather than its bytes.

Three: the picture is in the wrong container

A photograph saved as a PNG is usually several times larger than the same photograph as a JPEG, because PNG stores every pixel exactly and a photograph has a different colour in nearly every one. Screenshots have the opposite problem: saved as JPEG, flat colours and text get ringing artefacts and the file is often larger than a palette PNG of the same picture would be. When a file is stubbornly large, check what it is before you check how hard it was compressed — the format is frequently the thing doing the work.

What a second re-encode actually costs

When the answer is to leave it alone

If a run comes back within a few percent of where it started, that is the honest result and not a failure of the tool. The file you already have is the best version of it that exists, and putting it through another pass makes it worse without making it meaningfully smaller. This site reports that case in those words rather than showing a three percent improvement as a success, because the useful answer there is to stop.

A better encoder would find perhaps ten to twenty percent more.

This site drives the browser's own JPEG writer, which has no trellis quantisation and no control over chroma subsampling. On a file that is genuinely at its floor, that gap changes nothing — there is nothing to find either way. On a file with room in it, a dedicated desktop encoder will beat what you get here, and it is worth saying so plainly.

Asked about stuck files

I set quality to 40 and the file barely changed. Why?
Because it was already written at something near quality 40. The quantisation table your file was made with is baked into it; asking for a similar table again finds almost nothing new to round away. The saving collapses while the damage keeps accumulating, which is the worst part of the curve to be on.
My photo is 5 MB and nothing gets it under 1 MB. What is wrong?
Probably nothing. Five megabytes usually means a great many pixels rather than a wasteful encoder — a 48 megapixel phone photograph is 48 million pixels, and every one of them costs something even at a low quality. The file is large because the picture is large, and no quality setting addresses that.
Is it worth compressing a file twice?
No. Two passes at quality 70 are worse than one pass at 70 and give you no fewer bytes than a single pass at the lower of the two settings. If you need it smaller, go back to the largest version you still have and make one pass from that.
How can I tell whether a JPEG is already compressed hard?
Divide the file size in bytes by the number of pixels. A photograph much below about a tenth of a byte per pixel has already been through a strong pass; one well above a byte per pixel has room. It is a rough measure and it is wrong on flat pictures, but it will tell you which side of the line you are on.
Does saving as PNG help a stubborn JPEG?
It makes it dramatically larger. PNG stores every pixel exactly, including all the artefacts the JPEG pass introduced, so it is the wrong container for a photograph in every case. The reverse move — a photograph that was saved as a PNG by mistake — is where the real saving usually is.

Related work