All components

Wipe Reveal Background

Persistent WebGL wipe mask that reveals an arbitrary decorative background along the pointer path, holds each stroke independently, then softly decays back to a configurable dark colour.

Photographic hero reveal
Move across the dark hero to uncover a full-cover photographic background.

Move to uncover the signal.

Every stroke holds briefly, then the dark surface quietly closes behind it.

Sign in to view this example's source code.

Sign in
Playground
Tune brush geometry, mask colour, hold time, and decay timing.

Wipe controls

Sign in to view this example's source code.

Sign in

Props

NameTypeDefaultDescription
backgroundReactNode-Decorative, non-interactive visual layer revealed beneath the mask.
childrenReactNode-Accessible foreground DOM rendered above the reveal effect.
maskColorstring'#000000'Opaque resting colour restored after each stroke decays.
brushSizenumber140Reveal brush diameter in CSS pixels.
softnessnumber0.35Feathering around the brush edge from 0 to 1.
noiseStrengthnumber0.18Organic breakup applied to the brush radius from 0 to 1.
holdDurationnumber2Seconds each painted region remains fully revealed before fading.
decayDurationnumber1.25Seconds taken for a region to close after its hold expires.
interactivebooleantrueWhether pointer movement can paint the persistent reveal mask.