How to Compress Images Without Losing Quality
“Compress an image” sounds like one operation, but there are really two very different things you can do — and knowing which one you're doing is the whole game.
Lossless vs lossy: the only distinction that matters
Lossless compression rearranges the data more efficiently without discarding any of it. Every pixel survives exactly. PNG is a lossless format: a lossless re-encode of a PNG is pixel-identical, and typical savings are 5–30%.
Lossy compression throws information away — ideally information your eyes can't perceive. JPG and WebP are lossy formats, and this is where the dramatic numbers come from: 70–90% smaller files that look the same at normal viewing size.
The trick isn't avoiding loss. It's losing only what nobody can see.
Where quality actually disappears
Lossy encoders work in the frequency domain: they keep the broad strokes of the image and progressively discard fine, high-frequency detail as you lower the quality setting. Visible damage shows up in a predictable order:
- Blocking — 8×8 pixel squares in smooth gradients (skies are the first victim).
- Ringing — ghostly halos around sharp edges and text.
- Banding — smooth color transitions turning into visible stripes.
- Color smearing — reds and fine color detail going muddy (chroma subsampling).
The quality sweet spot
For photographs, the perceptual curve is steep and then flat: dropping JPG quality from 100 to 80 often cuts the file by two thirds with no visible change, while dropping from 80 to 50 saves much less and starts to show. Our rules of thumb:
- 80–90 — visually lossless for almost all photos. Start here.
- 65–80 — great for web content images; inspect skies and skin tones.
- Below 50 — thumbnails and previews only.
For graphics, screenshots and logos, don't use lossy at all — use PNG with palette quantization. Reducing a screenshot from millions of colors to a 256-color palette is usually invisible and routinely halves the file.
A workflow that never ruins an image
- Keep the original. Compression should produce a copy. Recompressing an already-compressed JPG stacks generations of loss.
- Pick the right format first. Photo → JPG or WebP. Transparency or sharp graphics → PNG or WebP. (Our format guide covers this.)
- Compress with a live preview. Use a tool that shows before/after at 100% zoom — judging quality from a file size number is guesswork.
- Push quality down until you see damage, then step back up. That's your sweet spot for that image; busy textures hide compression, flat gradients expose it.
Do it in your browser
None of this requires uploading your photos to someone's server. FreeCompressor runs the entire pipeline — decode, quantize, re-encode — in your browser with a draggable before/after comparison, so you can find the sweet spot visually. Your files never leave your device.