PixelSeal
Guide10 min · March 4, 2026

JPEG Compression Explained: What Every Photographer Should Know

How JPEG actually works — DCT transforms, quantization tables, quality factors, and why Q80 isn't '80% quality'. A technical but accessible deep dive.

jpegcompressiondctqualityphotography

The JPEG Pipeline

JPEG compression is a multi-step process: colour space conversion (RGB → YCbCr), chroma subsampling (reducing colour resolution), block splitting (8×8 pixel blocks), DCT transform (spatial → frequency), quantization (the lossy step), and entropy coding (lossless compression of quantized values).

DCT: Turning Pixels into Frequencies

The Discrete Cosine Transform converts each 8×8 block of pixels into 64 frequency coefficients. The top-left coefficient (DC) represents the block's average brightness. Coefficients further from the origin represent increasingly fine detail. This is the same transform PixelSeal uses for watermark embedding.

Quantization: Where Quality Is Lost

Each frequency coefficient is divided by a value from a quantization table and rounded. This division is the only lossy step in JPEG. Higher quality settings use smaller divisors (preserving more precision). Lower quality uses larger divisors (discarding more data). The quality number (Q80, Q90) scales these tables.

What Q80 Actually Means

JPEG quality is not a percentage of the original. Q80 doesn't mean '80% quality'. The number scales quantization tables, and the relationship is non-linear. Q95 vs Q90 is a much larger difference than Q50 vs Q45. Most images look identical at Q92+ but show visible artefacts below Q70.

Chroma Subsampling (4:2:0 vs 4:4:4)

Human vision is less sensitive to colour detail than brightness. JPEG exploits this by storing colour channels at half or quarter resolution (4:2:0). This reduces file size by ~50% with minimal perceptible impact but can affect watermarks that embed in colour channels.

Double Compression (and Why It Matters)

Saving a JPEG as JPEG applies quantization twice. If the block grid aligns perfectly and the quality doesn't decrease, re-saving is nearly lossless. But any of these conditions changing — different block alignment (from cropping), lower quality, or added processing — causes cumulative quality loss. This is why social media recompression degrades images.

💡Key Finding
TL;DR: How JPEG actually works — DCT transforms, quantization tables, quality factors, and why Q80 isn't '80% quality'. A technical but accessible deep dive.

Try it yourself

See how PixelSeal handles real-world image processing. Seal an image, transform it, and verify the watermark survives.

Frequently Asked Questions

Is PNG always better quality than JPEG?

How many times can I save as JPEG before quality degrades?

Why does PixelSeal use DCT for watermarking?