Compression, encoded live

A real crop, handed to the browser's own JPEG and WebP encoders and decoded again. The kilobytes are genuine bytes, not an estimate. The browser's encoder is not the one the article measured with, so read this for the shape of the trade rather than for the numbers.

Try this

Turn on the difference view and drop the quality from 95. The error appears at the patch borders and on the printed text long before it touches the flat colours — which is where every compression artifact you have ever noticed lives.

source
encoded

Where this lab comes from

File Formats: What the Encoder Did Before You Read the Pixels

Lesson 5 of The Image as Data. A JPEG quality sweep costs almost nothing in PSNR and takes Canny's edge agreement from 0.949 to 0.895. Chroma subsampling saves 40% of the bytes for 0.09 of ΔE. And OpenCV and Pillow decode every JPEG here bit-for-bit identically — the disagreement is a 16-bit PNG, which Pillow silently opens as 8-bit.

More in the image itself