Image Dither
Apply Bayer, Floyd-Steinberg or Atkinson dithering.
Overview
The Image Dither tool reduces an image to a small palette while preserving the impression of continuous tone, using one of three classic algorithms: ordered Bayer, error-diffusing Floyd-Steinberg, or Atkinson. Upload an image, pick a palette size, choose an algorithm and the tool produces a re-encoded copy in the same dimensions.
Dithering is back in fashion for retro-game art, indie video covers, e-paper displays and stylised social posts. It is also a serious tool for low-bandwidth UIs where a palette image needs to look smoother than its colour count suggests — exactly what the Floyd-Steinberg dithering algorithm was designed for.
How it works
A naive palette reduction snaps each pixel to its nearest palette entry and discards the error, producing visible banding. Dithering instead distributes that quantisation error spatially so the average colour over a small region matches the original even when individual pixels cannot.
Floyd-Steinberg pushes the error forward to four neighbouring pixels with weights 7/16, 3/16, 5/16, 1/16. Atkinson distributes 1/8 to each of six neighbours and discards the remaining 1/4, which yields a lighter, lacier look popularised by classic Macintosh paint software. Bayer uses an ordered threshold matrix that adds a deterministic 4x4 or 8x8 pattern, which scales better for animation because there is no temporal noise.
Examples
Source: photo.jpg (16M colours)
Floyd-Steinberg, 4-colour palette → newsprint half-tone vibe.
Atkinson, 2-colour palette → classic 1984 Mac look.
Bayer 8x8, 16-colour palette → retro pixel-art game banner.
FAQ
Which algorithm should I pick?
Floyd-Steinberg gives the smoothest gradients in a single image. Atkinson is best for high-contrast monochrome looks. Bayer is the right choice when the result will animate, because it has no random component.
Does dithering increase file size?
Yes — the introduced texture defeats some PNG predictor filters, so dithered PNGs are typically 10-25% larger than the equivalent un-dithered file at the same palette size.
What palette sizes work best?
Two to sixteen colours are where dithering shines. Above 64 colours the difference between a dithered and a quantised result is barely visible.
Can I provide my own palette?
The bundled algorithms derive a palette by k-means clustering. Manually fixing a palette would require a separate quantise-with-fixed-palette step.
Does it dither animated GIFs?
Yes — every frame is dithered against the same palette, which keeps colours consistent between frames.