efecto/blog/What is Dithering?
Pablo Stanley··6 min read

What is Dithering?

A deep dive into dithering: from 1869 newspapers to Game Boy screens, and why this pixel technique still feels magical today.

What is Dithering?

I have a confession: I'm obsessed with dithering.

There's something about those carefully placed dots and pixels that gets me every time. When an image uses only two colors but somehow fools your brain into seeing dozens of shades, it's a neat trick. The image knows it's just black and white, you know it's just black and white, but your brain doesn't care.

The same portrait rendered with different dithering algorithms
The same image with Floyd-Steinberg, Atkinson, Jarvis-Judice-Ninke, Stucki, Burkes, and Sierra. Each algorithm has its own texture.

The illusion of more

Dithering is a technique that creates the appearance of more colors or shades than you actually have. It does this by carefully arranging pixels of different colors in patterns that your eye blends together.

Think about it: if you have only black and white pixels, how do you show gray? You can't. But you can mix black and white pixels in a checkerboard pattern, and from a distance, your brain sees gray. That's dithering in its simplest form.

The technique comes from print. Before computers existed, newspapers had to figure out how to print photographs using only black ink on white paper. Their solution? Halftones. Tiny dots of varying sizes that created the illusion of continuous tone. The smaller the dots, the lighter the area appeared.

A brief history of dots

The story starts in 1869. William Leggo and George Desbarats published what's considered the first commercially printed halftone photograph in the Canadian Illustrated News. Before this, newspapers used hand-carved woodcuts to reproduce images. The halftone process changed everything.

Dithering applied to video. The effect works frame by frame.

But the digital dithering we know and love? That started with a seminal 1976 paper by Robert Floyd and Louis Steinberg: "An Adaptive Algorithm for Spatial Greyscale." They figured out that if you push the "error" of rounding a pixel to the nearest available color onto its neighbors, you get beautiful, organic-looking patterns. This is called error diffusion, and it's still the gold standard.

The original error diffusion algorithm from 1976

Try Floyd-Steinberg dithering

Then came the Macintosh.

In 1984, Bill Atkinson needed to display photographs on a computer that could only show black or white. No grays. His solution was a variant of Floyd-Steinberg that intentionally throws away 25% of the error. The result? Images with more contrast and "snap" that looked incredible on the Mac's crisp display. If you've ever seen those classic MacPaint images, that's Atkinson dithering at work.

Bill Atkinson's algorithm from the original Macintosh

Try Atkinson dithering

Why different algorithms look different

Here's where it gets technical.

All error diffusion algorithms work the same basic way: you scan through the image pixel by pixel, and for each one, you find the closest color in your palette. The difference between what you wanted and what you got is the "error." You then spread that error to neighboring pixels that haven't been processed yet.

The difference between algorithms is how they spread that error.

Floyd-Steinberg spreads to 4 neighbors with a specific weighting. It's fast and produces smooth results, but can sometimes look a bit "muddy" in midtones.

Atkinson spreads to 6 neighbors but only passes along 75% of the error. This creates higher contrast images with less of that muddy quality. Perfect for line art and high-contrast photographs.

Jarvis-Judice-Ninke spreads to 12 neighbors using a complex weighting matrix. It's slower but produces very smooth gradients. Published the same year as Floyd-Steinberg, it was described in "A Survey of Techniques for the Display of Continuous Tone Pictures on Bi-level Displays".

Jarvis-Judice-Ninke in motion. Notice the smooth gradients in the midtones.

Sierra and Stucki are variations that trade off between speed and quality. Sierra is a faster approximation of Jarvis, while Stucki is a refinement that many consider superior for photographic work.

The 12-neighbor algorithm for ultra-smooth gradients

Try Jarvis-Judice-Ninke

Beyond black and white

Two-color dithering is classic, but the real fun begins when you add more colors.

The Game Boy had four shades of green. Just four. But look at those games. They didn't feel limited. Artists learned to work within those constraints, and the results were often more memorable than games with millions of colors.

The classic 4-color palette from 1989

Try Game Boy palette

This is why I added multi-color palette support to Efecto. You can use synthwave colors, go full cyberpunk with magentas and cyans, or create your own palette.

Six examples of dithered portraits with different color palettes
The same portrait with different palettes: synthwave, gold, cyberpunk, noir, campfire, and deep sea.

The order of colors in your palette matters too. In Efecto, you can drag to reorder them. The darkest color represents shadows, the brightest represents highlights, and everything in between maps to the midtones. Flip them around and you get inversions. Mix them up and you get psychedelic results.

Pink, purple, and cyan gradients

Try Synthwave palette

The bloom trick

Here's something I love: adding a subtle bloom effect to dithered images.

Dithering naturally creates high-contrast pixel patterns. When you add bloom, the bright pixels glow into the dark ones, softening the harsh edges while keeping the essential dithered character. It's like the difference between a sharp LED display and a warm CRT.

Bloom softens the harsh pixel edges. Similar to how old CRT monitors looked.

Green monochrome with bloom enabled

Try dither with bloom

Why I love this stuff

As a designer, I'm constantly thinking about how constraints shape creativity. Dithering is the perfect example.

When you can only use a handful of colors, every pixel matters. There's no hiding behind gradients or blur. The algorithm has to make decisions, and those decisions create texture and character. It's honestly closer to printmaking than to typical digital art.

There's something satisfying about watching a complex photograph reduce down to patterns of dots. All that information compressed into the simplest possible form, yet still recognizable.

Constraints have a way of forcing interesting solutions.

Try it yourself

The best way to understand dithering is to play with it. Here are some starting points:

  • For photographs: Start with Floyd-Steinberg or Atkinson. Adjust the pixel size until you find the right balance between detail and abstraction.

  • For illustrations or line art: Atkinson tends to work best. Its high contrast nature preserves edges nicely.

  • For that retro vibe: Try the Game Boy, C64, or CGA palettes. Each one has its own personality.

  • For something modern: The neon palettes (Synthwave, Cyberpunk, Vaporwave) create striking images that feel both retro and contemporary.

Don't be afraid to crank up the pixel size. Some of the most interesting results come from aggressive dithering where you can see each individual pixel as a deliberate choice.

Try it out

Open Efecto