Floyd-Steinberg dithering in your browser

The error diffusion method most people picture when they think of dithering. Smooth gradients, no repeating pattern and plenty of detail.

Open the editor with this effect

What you get

Floyd-Steinberg is the dithering algorithm most people have seen without knowing its name. Robert Floyd and Louis Steinberg published it in 1976, and it has been the default way to squeeze a photo into a handful of colours ever since. It gives a soft, organic grain with no repeating pattern, so gradients stay smooth and faces stay recognisable even in pure black and white.

How error diffusion works

The algorithm walks across the image one pixel at a time. Each pixel is rounded to the nearest available colour, which leaves a small error, the gap between the tone it wanted and the tone it got.

That error is not thrown away. It is shared out to four neighbours that have not been processed yet: seven sixteenths to the pixel on the right, and the rest split across the three pixels below.

Because the error keeps travelling, a mid grey area ends up with roughly half its pixels light and half dark, scattered so the eye blends them back into grey.

When to choose it

Pick Floyd-Steinberg when the photo matters more than the pattern. It keeps the most detail of the classic methods and handles soft gradients like skies and skin well.

Pick Atkinson instead for a cleaner, higher contrast look, or Bayer when you want a regular grid that stays still in animation.

Stucki, Burkes, Sierra and Jarvis-Judice-Ninke are close cousins that spread the error further. They look slightly smoother and less wormy, and Bitgrain has all of them in the same panel.

How to do it in Bitgrain

Open the editor from this page and Floyd-Steinberg is already applied. Swap in your own image.

Lower the resolution for bigger, more visible dots, or raise it for a fine texture that reads as tone.

Pick a palette if you want colour. Floyd-Steinberg works with any palette, from two inks to sixteen colours.

Export a PNG with hard pixel edges, at full resolution on Pro if the file is going to a printer.

Common questions

Is Floyd-Steinberg dithering free to use here?

Yes. Every dither method is on the free tier. Free exports carry a small watermark at web resolution, and Pro removes it and adds full resolution.

Why does my dithered image show wavy lines in flat areas?

That is a known trait of Floyd-Steinberg on very even tones. Add a touch of grain before the dither, or try Stucki or blue noise, which break those patterns up.

Does Bitgrain upload my image to dither it?

No. The dithering runs in your browser on your own device. Your image is not sent anywhere for processing.

Related tools