Dithering Explained: The Aesthetic of Limitations
Dithering is how a machine that can only print black or white convinces your eye it is showing grey. It was invented out of necessity for early screens, newspapers, and printers, and it survives today because the texture it produces is beautiful in its own right. This is what the main algorithms do and why they look so different from each other.
The problem dithering solves
Suppose every pixel can only be pure black or pure white, and you want to show a photo containing a smooth grey sky. The naive approach is thresholding: any pixel brighter than a cut-off becomes white, everything else becomes black. The result is a stark stencil. Gradients collapse into hard bands, and everything in the midtones disappears into one flat area.
Dithering fixes this by trading spatial resolution for tonal resolution. Instead of trying to make each pixel correct on its own, it scatters black and white pixels in proportions that average out to the right brightness across a small area. Step back, or shrink the image, and your visual system blends the pattern into a convincing grey.
Error diffusion: Floyd-Steinberg
Published in 1976 by Robert Floyd and Louis Steinberg, this is the algorithm most people mean when they say "dithering". It walks the image pixel by pixel. For each one it picks the nearest available colour - black or white - and measures the error, meaning how far off that choice was. It then pushes that error onto the neighbours that have not been processed yet: seven sixteenths to the pixel on the right, and the remaining nine sixteenths spread across three pixels on the row below.
Because the error is always accounted for somewhere, the total brightness of a region stays close to the original. The visual signature is an organic, slightly noisy grain with no obvious repeating structure. It handles photographic material - faces, skies, fabric - better than any of the pattern-based methods. It is also the algorithm behind our Retro Dither Studio.
The threshold control
Error diffusion still needs a cut-off point for deciding black versus white, and the studio exposes it as a slider. Lowering the threshold sends more pixels to white and lightens the whole piece; raising it darkens everything. On a properly exposed photo the default is usually close, but underexposed shots often need the threshold pulled down before detail emerges from the shadows. It is the single most useful adjustment in the tool, and it updates the preview live.
Ordered dithering: the Bayer matrix
Ordered dithering takes a completely different approach. It lays a small fixed matrix of threshold values - typically 2x2, 4x4, or 8x8 - repeatedly across the image like tiles, and compares each pixel against whichever matrix cell it lands on. There is no error to carry, so each pixel is decided independently.
The look is unmistakable: regular crosshatch patterns that stay perfectly stable, the texture of early PC games, GIF-era web graphics, and screen-printed posters. Because it needs no memory of previous pixels, ordered dithering is fast and parallelises easily, which is why hardware used it. It is the right choice when you want the pattern to be visible as a graphic device rather than hidden as a texture.
Atkinson: the Macintosh look
Bill Atkinson's variant, written for the original Macintosh, is error diffusion with a twist - it only passes on three quarters of the error and discards the rest. Highlights blow out to pure white and shadows crush to pure black, which sacrifices tonal accuracy for crisp, punchy contrast. That deliberate loss is why 1984 Mac graphics look the way they do, and why the style keeps coming back in indie games and zine design.
Getting good results
- Add contrast first. A flat photo dithers into mush. Push the contrast before converting and the pattern gains structure.
- Mind the display size. Dither patterns are single pixels wide. Downscale a dithered image in a browser and the pattern turns into moire. Export at the size you intend to show, and use PNG so nothing is smoothed away.
- Simple subjects win. Portraits, single objects, and bold shapes read clearly. Dense crowds and fine text vanish into noise.
- Try a smaller source. Feeding in a reduced image before dithering makes the individual dots larger relative to the subject, which is the chunky retro look people usually want.
Where the look is genuinely useful
Beyond nostalgia, one-bit images are practical. E-ink displays and thermal receipt printers really do have two states per pixel, so dithering is not an effect there but a requirement. Risograph and screen-printing workflows benefit for the same reason. And because a dithered PNG contains only two colours, the files are tiny, which makes them a good fit for decorative web graphics.
The studio processes a whole queue of images with the same threshold and returns them as a ZIP, which is how you keep a set of zine illustrations or product shots visually consistent. All of it runs through the Canvas API in your browser - the images are never uploaded, which is worth knowing if you are dithering work you have not published yet.
Related reading
For another way to reduce a photo to a deliberately limited palette, see duotone colour pairs. And if you like the texture of broken technology in general, glitch art covers the other half of that aesthetic.
Dither an Image
Floyd-Steinberg with a live threshold slider and batch export.
Open Retro Dither Studio