🟥
Blocking artefacts — JPEG splits the image into tiny 8×8 pixel blocks and stores an average colour for each. At low quality, these blocks become visible as chunky squares — especially on smooth gradients and curved edges.
🎨
Colour depth reduction — Each pixel normally stores 24 bits of colour (8 bits per red/green/blue channel = 16.7 million colours). JPEG reduces the number of bits used, merging similar colours together. Fine colour detail — especially in gradients and skin tones — is lost first.
🌊
Edge halos — Near sharp boundaries (like text on a background), compression causes a faint halo or "ringing" effect. This happens because nearby pixels are forced to share colour data they shouldn't, bleeding colour across edges.
♾️
Lossy = permanent data loss — Once pixel data is discarded, it cannot be recovered. Re-saving a JPEG at a lower quality removes even more data. This is why lossless formats like PNG are used when quality must be preserved exactly.