Dithering algorithm comparison
The same image, the same 1-bit palette, seven algorithms. Use this to pick the right one in seconds.







| Algorithm | Type | Detail | Animation stability |
|---|---|---|---|
| Floyd–Steinberg | Error diffusion | High | Poor (crawls) |
| Atkinson | Error diffusion | Medium-high, crisp | Poor |
| Jarvis–Judice–Ninke | Error diffusion | Very high | Poor |
| Bayer (ordered) | Ordered | Medium, regular grid | Excellent |
| Blue noise (void-and-cluster) | Ordered (blue noise) | High, organic | Excellent |
| Halftone screen | Clustered dot | Low-medium, print | Good |
| Riemersma | Space-filling curve | Medium, organic | Poor |
Atkinson vs Floyd–Steinberg?
Floyd–Steinberg diffuses 100% of the error for accurate tone; Atkinson diffuses 75% for higher contrast and cleaner highlights.
Ordered vs error diffusion?
Ordered dithering (Bayer, blue noise) uses a fixed threshold per pixel — fast and stable in animation. Error diffusion propagates error between pixels — more detail but patterns shift when the image changes.
Dither vs halftone?
Halftone is a kind of clustered-dot ordered dither: dots grow in size on a fixed grid, which suits printing. Dispersed dithers (Bayer, Floyd–Steinberg) use single scattered pixels, which suits screens.