Toggle Sidebar B
AppearanceLight & dark mode D

Dither Veil

A photo printed as a 1-bit dither that the cursor burns through to full colour, leaving a trail that knits back cell by cell.

Default

Every prop is wired to the controls underneath. Move the pointer over the image to burn through the dither, and click to send a ring of colour across it.

Light previewReplay previewOpen in new tab

Customize

Ink
Paper
Rim Color
Fit
Pattern
Palette
Pixel Size2px
Levels2
Contrast1.15
Brightness0
Reveal Radius200px
Softness0.6
Linger1s
Rim0

API Reference

DitherVeil

PropTypeDefaultDescription
srcstring'https://images.unsplash.com/...'Image to veil. Must be served with CORS headers.
fit'contain' | 'cover''contain'Show the whole image on the ink, or crop it to fill the container.
pattern'bayer' | 'noise' | 'atkinson' | 'floyd' | 'lines''floyd'How the image is broken into dots: an ordered Bayer grid, blue noise stipple, Atkinson or Floyd-Steinberg error diffusion, or diagonal engraving lines.
palette'duotone' | 'rgb''duotone'Duotone maps brightness between the ink and paper colours. RGB dithers each channel for a retro colour look.
pixelSizenumber2Size of each dither cell, in px.
levelsnumber2Tones per channel. 2 is pure 1-bit, higher values add in-between shades.
inkColorstring'#120f17'Colour of the darkest tone.
paperColorstring'#f4f1ea'Colour of the lightest tone.
contrastnumber1.15Tonal contrast applied before dithering.
brightnessnumber0Shifts the image lighter or darker before dithering.
revealRadiusnumber200Radius of the full-colour window around the cursor, in px.
softnessnumber0.6How much of the reveal edge dissolves through the dither. 0 is a hard cut.
lingernumber1Seconds the revealed trail takes to knit back into dither. 0 turns the trail off.
rimColorstring'#a78bfa'Colour of the cells along the dissolving edge.
rimnumber0Thickness of the coloured rim on the dissolving edge. 0 hides it.
reversebooleanfalseStart in full colour and dither wherever the cursor goes.
wanderbooleanfalseLet the reveal drift around on its own while the pointer is away.
clickBurstbooleantrueClicking sends a ring of colour rippling out across the image.

Accessibility

Keyboard shortcuts and ARIA behavior.

  • Purely decorative canvas. With prefers-reduced-motion the wander option is ignored.