What 1-Bit Dither Does
You have an image with 16 million colors. You're going to express it using two: black and white. Dithering decides where each one goes.
The illusion of gray comes from dot density. Lots of black pixels close together = looks dark. Sparse black on white = looks light. Stand back from the screen — your eye averages it.
Four Algorithms
Each produces a distinct look. Try all of them on the same image.
Threshold
Pixels above the threshold become white, below become black. No mixing. Hard, posterized. Best for high-contrast graphics and logos.
Floyd–Steinberg
Error diffusion: when a pixel rounds to black or white, the leftover "error" is pushed to neighboring pixels. Result: soft, slightly fuzzy gradients. The most photographic of the four.
Atkinson
Like Floyd–Steinberg but only diffuses 75% of the error and skips some neighbors. The result is brighter and more contrasty — this is the dither used on the original Macintosh.
Bayer
Uses an ordered matrix (2×2, 4×4, or 8×8) to decide threshold per pixel. The output has a visible regular pattern — looks like a pre-print halftone. Best when you want the pattern visible.
Parameters
Threshold (0–255)
Center point for black vs white. 128 = neutral.
- Lower: more white pixels, brighter overall
- Higher: more black pixels, darker overall
Bayer Size (2 / 4 / 8) — Bayer only
Smaller = chunkier visible pattern. Larger = finer, almost smooth.
Pixel Scale (1–8)
Downsamples before dithering. Higher = bigger, retro lo-fi dots.
Good Subjects
- Portraits: Atkinson gives that classic MacPaint face look
- Landscapes: Floyd–Steinberg keeps tonal range
- Type and logos: Threshold, crisp
- Anything you want to feel printed: Bayer with low size
Recipes
Original Macintosh
- Atkinson, threshold 128, pixel scale 2
- Looks like 1984 MacPaint
Newspaper Halftone
- Bayer, size 4 or 8, threshold 128
- Print-shop dots
Risograph
- Floyd–Steinberg, threshold ~140
- The slightly imperfect zine vibe
Fax Machine
- Threshold, pixel scale 4
- Pure crunch
What to Avoid
- Subtle gradients you need to keep smooth: pick Floyd–Steinberg, not Threshold
- Very small text: dither and font can fight
Combinations
- Dither + CRT: scanlines on a 1-bit image. Computer terminal from another era.
- Dither + RGB Shift: wait — RGB Shift adds color back. Run dither last for pure 1-bit. Or run RGB first for split-channel dithered chaos.
- Dither + Block Jitter: scanned-and-corrupted printout.
The Idea
Two colors is more than enough. The rest is math.