Image Dithering Tool

Transform full‑color or grayscale images into striking bitmap art using professional dithering algorithms. Simulate retro aesthetics, reduce color depth, and explore the science of digital halftoning — fully client‑side, privacy first.

0 (dark)128255 (light)
Affects threshold & error‑diffusion binarization
Original Image
RGB or grayscale source
Dithered Output (1‑bit)
Black & white bitmap
Zero data upload — All processing occurs in your browser. No image ever leaves your device. Perfect for sensitive or proprietary artwork.
Algorithm: Floyd‑Steinberg Bit depth: 1‑bit (2 colors) Resolution: px

What is Image Dithering? The Art of Illusion

Dithering is a technique used in digital image processing to simulate shades of gray or additional colors when the available palette is limited. By strategically placing black and white pixels (or colors from a restricted set), the human eye blends them into intermediate tones. This principle, rooted in halftoning, was essential for early computer graphics, fax machines, and retro gaming consoles. Modern dithering remains relevant for pixel art, e‑ink displays, print preparation, and aesthetic "lo‑fi" visuals.

? The core principle: Error diffusion vs. Ordered dither

Error diffusion (Floyd‑Steinberg, Atkinson) spreads the quantization error to neighboring pixels, preserving local brightness. Ordered dithering uses a fixed threshold matrix (Bayer) to create a patterned texture. Both methods convert continuous tone into binary, each with unique visual signatures.

Floyd‑Steinberg: The Classic Error‑Diffusion Algorithm

Developed by Robert W. Floyd and Louis Steinberg in 1976, this algorithm remains one of the most widely used dithering techniques. It scans the image left‑to‑right, top‑to‑bottom, and for each pixel distributes the quantization error (difference between original and new value) to four neighboring pixels: right (7/16), bottom‑left (3/16), bottom (5/16), and bottom‑right (1/16). This yields high‑quality, artifact‑resistant results ideal for photographs.

Ordered Dithering (Bayer Matrix) – Structured Halftoning

Bayer dithering applies a threshold map (e.g., 4x4 or 8x8 matrix) that repeats across the image. Each pixel's luminance is compared with the corresponding matrix value, producing a regular, screen‑like pattern. It is computationally efficient and creates a nostalgic dot‑matrix effect often seen in retro game graphics, early desktop publishing, and newspaper halftones.

Atkinson Dithering – The Macintosh Look

Created by Bill Atkinson for the Apple Macintosh (1980s), this variant spreads error to six neighboring pixels with a factor of 1/8 each, discarding the remaining 2/8 of error. It produces a lighter, highly textured output that became iconic for early Mac graphics and pixel‑art shading. Our implementation respects the classic distribution: right, down, down‑right, and three additional adjacent pixels.

Step‑by‑Step Processing Pipeline

  1. Image loading: User uploads an image or uses a built‑in demo canvas. The image is drawn on an offscreen canvas.
  2. Grayscale conversion: RGB values are transformed to luminance using perceptual weights (0.299·R + 0.587·G + 0.114·B).
  3. Dithering pass: According to the selected algorithm, each pixel is compared to a threshold (or error‑diffused) and output 0 (black) or 255 (white).
  4. Display & download: The resulting 1‑bit bitmap is rendered on the output canvas and can be saved as PNG.

Comparative Table – Dithering Algorithms

Algorithm Style Speed Best for Typical artifacts
Floyd‑Steinberg Error diffusion Medium Photorealistic 1‑bit, smooth gradients "worm" artifacts in uniform areas
Atkinson Error diffusion Medium Pixel art, retro Macintosh style Lightening overall, high contrast
Bayer 8x8 Ordered dither Very fast Screen effects, real‑time previews Visible crosshatch pattern
Simple threshold No dither Fastest Silhouette, posterization tests Severe banding, detail loss
Real‑world application: Retro Game Asset Generation

Indie game developers use dithering to convert high‑resolution concept art into 1‑bit textures that fit strict memory constraints (Game Boy, Arduboy, or OLED displays). Floyd‑Steinberg preserves organic shapes while Atkinson yields a classic “comic book” feel. With our tool, artists can rapidly experiment and export assets for engines like Godot or Unity.

The Science Behind Error Diffusion

Mathematically, for each pixel i with grayscale value g(i), the quantized output b(i) is either 0 or 255 based on threshold T. The error e(i) = g(i) - b(i) is then propagated to unprocessed neighbors via a kernel. This minimizes the overall perceived error and preserves local luminance. The Floyd‑Steinberg kernel has proven optimal for many use cases, while variations like Sierra and Stucki offer different trade‑offs.

Frequently Asked Questions

This version specializes in 1‑bit black‑white dithering (two colors). For custom palettes (e.g., 4‑color CGA or 16‑color EGA), you may use the grayscale conversion then apply dithering; advanced multi‑color dithering may require dedicated software. But our tool produces perfect results for 2‑color output.

Dithering intentionally adds high‑frequency noise to simulate intermediate tones. The perception of grays emerges when viewed from a distance. This is expected — try adjusting the brightness threshold or switching algorithms.

Early VGA and Hercules graphics often used ordered dithering (Bayer) due to low computational cost. Apple Macintosh users will recognize Atkinson dithering from early MacPaint. For highest quality photographic conversion, Floyd‑Steinberg is industry standard.

Yes, but extremely high resolutions (over 8 megapixels) may cause performance delays because dithering processes each pixel individually. The demo image and standard photos work smoothly. For best experience, images up to 2000x2000 are recommended.
This tool implements canonical algorithms from computer graphics literature: "Floyd, R. W., & Steinberg, L. (1976). An adaptive algorithm for spatial gray scale."; Bayer matrix from "Bayer, B. E. (1973). An optimum method for two-level rendition of continuous-tone pictures."; Atkinson version verified against historic Macintosh documentation. All calculations follow IEEE double precision and canvas pixel‑level manipulation. Reviewed by GetZenQuery Tech team.