The scale is the encoder's own, 1 to 100. Move it, run it, and read the byte count it produced — the dimensions stay exactly where they are.
What the quality number actually selects
The encoder splits the picture into blocks of eight pixels by eight and turns each one into sixty-four frequency coefficients: one for the block's average brightness, the rest for progressively finer variation across it. Each coefficient is divided by an entry in a quantisation table and rounded to a whole number. Coefficients that round to zero cost almost nothing to store, which is the entire trick.
Quality picks the table. A high number means small divisors and few zeros; a low number means large divisors, many zeros and a short file. Nothing about that scale is linear and nothing about it is a percentage — quality 50 is not half of anything, and the same 50 in a different encoder means a different table again.
Where the floor is
Every JPEG already carries the quantisation of the pass that made it. Re-encoding at a quality above that pass adds bytes without adding detail; re-encoding at a quality below it removes more detail and finds progressively less to remove. Somewhere around the setting the file was originally written at, the curve flattens, and further reduction buys blocking rather than bytes.
When a run lands within three percent of where it started, this page says so in plain terms and suggests keeping the original, because a three percent saving is not worth a generation of loss.
What a second pass costs
- The blocks are re-quantised on a grid that no longer matches the detail in the picture, so ringing around hard edges compounds rather than repeating.
- Flat areas that were already slightly banded band further, and the banding is the part people notice on skies and skin.
- Nothing about the file records that it has been through two passes, so the only way to judge the damage is to look at it — which is what the 400 percent comparison is for.
MozJPEG writes baseline files unless you ask for progressive.
JPEGs here come from MozJPEG — trellis quantisation and optimised Huffman tables — running in a background worker on this device, with 4:2:0 or 4:4:4 chroma, optional progressive scans and a smoothing control under Advanced. Baseline is the default because many upload portals reject progressive files. If the codec cannot load, the browser's own writer stands in and the result line says which encoder wrote your file. The size difference between the two is not quoted: it depends on the picture and has not been measured here.
Questions people arrive with
What does quality 80 mean?
What is the lowest quality worth using?
Does re-saving a JPEG at quality 100 keep it lossless?
Why did quality 90 make my file bigger?
Can I control chroma subsampling here?
Elsewhere on this site
- Compress to a size in KBWhen the requirement is a number from an upload form rather than a quality you choose.
- Why this JPEG will not get smallerThe quantisation floor in more detail, and how to tell a stubborn file from a badly set one.
- Compress a PNGFor screenshots, diagrams and anything with text or flat colour, where JPEG is the wrong container.
