GUIDE · 5 MIN READ
What is image dithering?
A four-colour Game Boy could show a recognisable human face. Dithering is the trick that made that possible, and it still works.

The problem it solves
Suppose you have a photograph with millions of distinct colours and a screen that can show four. The obvious approach is to round every pixel to whichever of the four it is closest to. Try it and the result falls apart: a smooth sky becomes three or four hard bands, skin turns to flat blotches, and everything subtle disappears.
The information did not have to be lost. When you round a pixel from a value of 130 down to 128, you throw away a difference of 2. Do that across a million pixels and you have discarded an enormous amount of detail, two units at a time.
Dithering is the idea that you should keep track of what you threw away.
Spreading the error
Error diffusion algorithms round each pixel to the nearest available colour, measure how wrong that was, and push the difference onto neighbouring pixels that have not been processed yet. Those neighbours are now slightly biased, so some of them round the other way. The error is not eliminated, it is redistributed.
Zoom in and you see scattered dots. Step back and your eye averages them into shades the palette does not contain. A checkerboard of black and white pixels is not grey, but from a normal viewing distance it is indistinguishable from grey.
This is the same perceptual trick as newspaper halftone printing, pointillist painting, and the colour subpixels in the screen you are reading this on.
Why it still matters
The hardware constraint is gone. Nobody is limited to four colours any more. But the look those constraints produced turned out to be worth having on purpose, and dithering is the only honest way to get it. Reducing an image to the Game Boy palette without dithering gives you flat green mud. With dithering you get something that reads like it came off the handheld.
It also has genuinely practical uses. Dithering before quantising to a GIF palette avoids visible banding. Dithering audio before reducing bit depth is standard practice for exactly the same reason. Anywhere you reduce precision, dithering trades a little noise for a lot of apparent resolution, and that is almost always the better deal.
