What is Floyd-Steinberg Dithering?

Floyd-Steinberg dithering quantizes each pixel and diffuses its resulting error to neighboring unprocessed pixels. A fixed weighting pattern distributes that error across the image.

How Floyd-Steinberg Dithering works

The algorithm scans a quantized image in a defined order and carries the current pixel's representation error into pixels that have not yet been processed. Its diffusion kernel shapes local dot placement so the eye integrates a limited palette into smoother apparent tones. Unlike ordered dithering, the pattern depends on preceding image values rather than a fixed threshold matrix. It is normally applied as the final color-reduction step because later resampling can disturb the carefully distributed pattern.

Key facts

  1. The classic left-to-right kernel sends error with weights of 7/16 to the right, then 3/16, 5/16, and 1/16 across the next row, preserving the total propagated error.
  2. Serpentine scanning alternates horizontal direction and mirrors the kernel on successive rows. This variant can reduce directional bias but produces a different pixel pattern.
  3. Diffusing errors in gamma-encoded values does not match diffusion in linear light. The chosen working space changes tonal accuracy, especially through shadows and midtones.

When Floyd-Steinberg Dithering matters

Developers use the method to retain perceived gradients and detail when reducing an image to a small palette. Its directional error propagation can create visible patterns or complicate parallel processing.

Turn media knowledge into a working pipeline

Connect uploads, processing, AI, storage, and delivery through one declarative API — with the encoding stack, scaling, and format churn handled for you.

Try Transloadit for free