← All articles

How to Detect JPEG Compression Artifacts (and Measure How Bad They Are)

The damage you stopped noticing

JPEG is lossy by design, and its artefacts have signatures once you know them:

  • Blocking — the image breaks into 8×8 squares, most visible in smooth areas and gradients.
  • Banding — smooth gradients (skies, shadows) turn into stepped bands.
  • Ringing / mosquito noise — faint halos and shimmer along hard edges and text.
  • Colour bleeding — saturated edges smear because colour is stored at lower resolution than brightness.

The trouble is habituation: after you’ve looked at a compressed image for a minute, your eye stops flagging the artefacts. And each re-save (edit → export → someone re-exports) compounds the damage — “generation loss.” To catch it reliably you compare against the original and measure, instead of trusting a tired eye.

See exactly where compression hurt

DiffALL’s image comparison tool puts the original and the compressed version side by side and maps the difference:

  1. Upload the original and the JPEG (or two JPEGs at different quality settings).
  2. Read the SSIM score — a single 0–100% number for how much structure survived.
  3. Read the heatmap — artefacts have distinctive shapes: - A grid of warm squares in flat areas → blocking. - Stepped horizontal/vertical heat across a gradient → banding. - Heat hugging edges and text → ringing.

Because the heatmap shows location, you can tell “the sky is banding” apart from “the whole image is soft” — which points at different fixes (higher quality vs. different subsampling).

Reading the result

SSIM / heatmap Reading
98–100%, near-flat heatmap Compression is visually lossless — you can safely go this low.
92–98%, heat in gradients and flat areas Blocking/banding starting; fine for web, risky for print.
85–92%, edges and blocks clearly lit Visible artefacts — raise quality or stop re-saving.
below 85% Heavy damage, likely multiple generations of re-compression.

Find your quality floor

The most useful workflow is a quick binary search: export the same image at quality 90, 80, 70… and compare each to the original. The lowest setting that stays above your SSIM threshold (≈95% for most web work) is your smallest safe file. It’s the same idea as choosing a format — see WebP vs PNG vs JPEG quality — but applied to the quality slider.

Common uses

  • Web performance: ship the smallest JPEG that still looks clean, with a number to back the choice.
  • Print prep: confirm a supplied JPEG isn’t already artefacted before it goes to a large format.
  • Generation-loss checks: compare a re-exported file to the original to catch compounding damage — related: checksum vs visual comparison.
  • Asset audits: find the over-compressed images in a library by scoring them against their sources.

The bottom line

JPEG artefacts are predictable and measurable. Compare against the original and the heatmap names the damage — blocking, banding, ringing — while SSIM tells you how far it’s gone. That turns “does this look okay?” into a repeatable quality gate. Check an image for compression artifacts now.

Stop hunting for differences by hand. DiffALL spots every change between any two files — automatically.

Compare your files — free