Explainer
Floyd–Steinberg Dithering, Explained Simply
The most famous dithering algorithm, in plain terms: how it spreads error, why it looks so natural, and when to use it.
Updated 2026-06-02
Floyd–Steinberg is the dithering algorithm you've seen a thousand times without knowing its name. It's the default in most tools because it's fast and it looks good. Here's what it's actually doing under the hood.
The core idea: don't waste the error
When you reduce an image to fewer colours, every pixel gets rounded to the nearest one it's allowed to use. A pixel that's 60% grey might get rounded down to black. That rounding throws away information. Floyd–Steinberg's insight, from Robert Floyd and Louis Steinberg back in 1976, was simple: don't throw the error away — give it to the neighbours.
So if a pixel was forced darker than it really was, the algorithm makes the pixels next to it a little lighter to compensate. Across the whole image, the errors cancel out and the average tone stays correct. That's why a dithered photo looks right from a distance even though every single pixel is a hard black or white.
How the error gets spread
Floyd–Steinberg pushes the leftover error onto four neighbouring pixels in fixed proportions: 7/16 to the right, and 3/16, 5/16, and 1/16 to the three pixels below. The numbers aren't magic, they just weight the spread toward pixels the algorithm hasn't reached yet, so nothing gets double-counted.
When to reach for it
Floyd–Steinberg is the safe default for photos and anything with smooth gradients — skin, skies, soft lighting. It keeps detail and avoids the rigid look of a fixed pattern. If you want something even smoother, Jarvis–Judice–Ninke and Stucki spread the error wider for calmer gradients at the cost of a slightly softer image.
When to avoid it
Because the result depends on the exact pixels, error diffusion can shimmer in video. A tiny change between two frames can shift the whole pattern, which reads as crawling texture. For motion, an ordered dither holds steadier. Same goes for clean graphic work where you actually want a visible, regular pattern.
Frequently asked questions
- What is Floyd–Steinberg dithering?
- It's an error-diffusion dithering algorithm from 1976. When a pixel is rounded to the nearest available colour, the rounding error is spread to neighbouring pixels, which keeps the overall tone accurate and produces a natural, scattered texture.
- Why does Floyd–Steinberg look so natural?
- Because it carries the rounding error forward to nearby pixels instead of discarding it, the average tone across any area stays correct. There's no repeating grid, so the texture looks organic rather than mechanical.
- Is Floyd–Steinberg good for video?
- Not always. Because the pattern depends on exact pixel values, small frame-to-frame changes can make the texture shimmer. Ordered dithering is usually more stable for motion.