Loading CRA...

Initializing WebAssembly module...

Dithering

Error diffusion dithering with configurable bit depth per channel

Click to upload or drag and drop

Dither Settings

Color Space Aware:

Uses perceptual distance for candidate selection with linear error diffusion. For RGB, processes channels jointly. For grayscale: CIE76=CIE94 (simple ΔL²), CIEDE2000 uses lightness-dependent weighting, OKLab uses different L curve.

Controls random kernel selection in Mixed modes. Each channel uses a different derived seed.

Row stride applies to row-aligned output. Padding fill affects both row padding and RGB666 partial groups (4-pixel boundaries).

Grayscale:
Downscale:
×

Aspect ratio is preserved. Edit one dimension to auto-calculate the other.

Upscale for viewing:
×

Integer upscaling with nearest neighbor for pixel-perfect viewing.

Red Channel

3 bits (8 levels)

Green Channel

3 bits (8 levels)

Blue Channel

2 bits (4 levels)

Grayscale

4 bits (16 levels)

Processing image...