<Texture Studio

Dither Converter

[ 5 KERNELS // CANVAS 2D ]

Ordered and error-diffused dithering, both implemented properly.

← → Switch filters with ← →// 100% client-side Canvas 2D processing, zero upload

Dithering fakes shades that a limited palette cannot actually show, by trading colour depth for spatial detail. Your eye averages a scatter of black and white dots back into grey. This tool ships both families of the technique, because they fail in completely different ways.

Bitgrain is ordered dithering. It compares each block against an 8x8 Bayer matrix — a fixed 64-step threshold lattice — and quantises to three, four or five levels per channel depending on the detail setting. Ordered dithering is deterministic and tiles perfectly, which is why it produces that regular crosshatch texture familiar from early games and printed newspapers.

The four Grain filters are error diffusion, and they run in true 1-bit: one ink colour on one paper colour, no intermediate tones at all. After thresholding each cell, the leftover error is pushed into neighbours that have not been visited yet, so the image self-corrects as the scan proceeds. Each colourway uses a different diffusion kernel, and the scan runs boustrophedon — alternating direction every row — to stop the error drifting consistently to one side.

FilterMethodKernelOutput
BitgrainOrdered8x8 Bayer3–5 levels per channel
Cobalt GrainError diffusionFloyd-Steinberg1-bit, blue ink
Denim GrainError diffusionAtkinson1-bit, indigo ink
Harbor GrainError diffusion3-tap1-bit, teal ink
Meadow GrainError diffusion7-tap, two rows1-bit, green ink

Atkinson deliberately discards part of the error, which lifts contrast and leaves cleaner whites — that is the look old Macintosh screens had. Floyd-Steinberg keeps all of it and preserves more midtone gradation.

Everything runs on Canvas 2D on your own device. No upload, no account, full-resolution PNG out.

> Frequently Asked

What is image dithering?
Dithering approximates colours a limited palette cannot display by scattering the available colours in a pattern. Viewed at normal distance, the eye averages the pattern back into the intended shade, trading colour depth for spatial detail.
What is the difference between ordered and error-diffusion dithering?
Ordered dithering compares each pixel against a fixed threshold matrix, so it is fast, deterministic and visibly regular. Error diffusion pushes each pixel rounding error into its neighbours, which produces an organic, less repetitive grain but depends on scan order.
Which filter gives true 1-bit black and white?
The four Grain filters. Each one renders a single ink colour on a single paper colour with no intermediate tones. Bitgrain instead quantises to three to five levels per channel, so it keeps some colour.
Why does Atkinson look higher contrast than Floyd-Steinberg?
Atkinson deliberately discards a portion of the accumulated error instead of distributing all of it. Highlights blow out cleaner and shadows deepen, which is the look classic Macintosh displays had.
Is the dither converter free and private?
Yes. It runs entirely in your browser through Canvas 2D, so the image is never uploaded, and the PNG export carries no watermark.

Images are processed in your browser and never uploaded. The site keeps anonymous usage analytics (page views, chosen filter, file size) — never pixel data.