What bit depth measures
Bit depth (color depth) says how many brightness levels an image can distinguish per color channel. More levels = finer transitions:
| Bit depth | Levels per channel | Total colors |
|---|---|---|
| 8 bit | 256 | ~16.7 million |
| 10 bit | 1,024 | ~1.07 billion |
| 16 bit | 65,536 | enormous (editing headroom) |
16.7 million colors sounds like more than enough — and for the finished image it usually is. The problem doesn't appear in the number of colors, but in the fine gradations within a smooth transition.
Why gradients get stripes (banding)
Picture a sky fading from light blue to dark blue — over maybe 2000 pixels of height. If that transition would need more fine brightness steps than the 256 levels of 8 bit can provide, the image has to “jump”: instead of a stepless gradient, visible stripes appear — banding. Each stripe is a region forced to share one of the 256 available levels. Compression makes it worse, because it lumps fine differences together even more.
Three ways against banding
- Edit at higher bit depth. If you push a gradient hard (exposure, contrast), work in 16 bit — then enough intermediate levels survive, and only the final export drops to 8 bit.
- Add a little noise (dithering).A touch of fine noise visually “breaks up” the hard step edges — the eye reads the gradient as stepless again. Many export dialogs offer this.
- Choose a modern format. WebP and AVIF often handle gradients more gently than a heavily compressed JPG; AVIF also supports 10 bit.
When higher bit depth really matters
- Editing with strong adjustments — 16 bit as headroom against banding and tonal breaks.
- RAW photography — cameras deliver 12–14 bit so there's room in shadows and highlights.
- HDR content — uses 10 bit and more to represent the extended brightness range.
And for the normal web?
Reassurance: 8 bit is enough for the vast majority of web images. JPG and standard PNG are 8 bit, and for photos that's sufficient — banding only appears in large, smooth areas. Higher bit depth is a matter of editing and special outputs, not the normal delivery format. If your final JPG shows visible banding, combine a “high quality setting” (less compression, see JPEG artifacts) with a bit of dithering.
In short
- Bit depth = levels per channel, not just total colors.
- Banding happens when smooth gradients run out of levels.
- Edit in 16 bit, dither, or use a modern format.
- 8 bit is fine to deliver — depth matters for editing/HDR.