Choosing a JPEG quality
JPEG quality is a number from 1 to 100 that controls how coarsely the image is approximated. It is not a percentage of the original: quality 75 does not mean “75% of the detail”. The file size falls steeply from 100 to about 85, then more gently. Below about 50, blocky 8×8 patches and halos around edges become visible.
| Quality | Typical use | What you may notice |
|---|---|---|
| 90–95 | Archiving, printing, further editing | Practically identical to the original; files stay large. |
| 75–85 | Websites, email, social media | Hard to tell apart at normal size; the usual sweet spot. |
| 55–70 | Thumbnails, strict upload limits | Slight softness and blotches in skies and skin. |
| 30–50 | Forms with tiny KB limits | Visible blocks and colour bleeding around text and edges. |
What MozJPEG does differently
- Trellis quantisation picks, for each 8×8 block, the coefficients that cost the fewest bits for the error they introduce.
- Progressive encoding with optimised scan order: the file is usually smaller and appears gradually while it loads.
- Optimised Huffman tables are built for each image instead of using the generic default tables.
- Chroma subsampling stores colour at half resolution (4:2:0) below quality 90, which the eye barely notices in photos; at 90 and above colour is kept at full resolution.
The output is a standard baseline-compatible progressive JPEG. Every browser, phone, Windows, macOS and image editor can open it.
Don’t compress the same JPEG over and over
Each time a JPEG is decoded and saved again, a little more detail is lost, and the file rarely gets much smaller after the first pass. Keep your original, and compress from it once, at the size you need. If a JPEG is already efficient, Kilomill keeps the original rather than handing you a bigger file.
Sideways photos and hidden data
Phones often save photos sideways and add an orientation tag. Kilomill applies that rotation to the pixels before compressing, so the result is upright everywhere, and then drops the EXIF data (including GPS location) from the output.