Skip to content
Pinky UI

Blur Reveal

`BlurReveal` brings content from a small blur, opacity and translate offset into focus. It is a quiet entrance for editorial sections, cards and supporting copy.

Live example

Try the interaction before reading the recipe.

real component · keyboard-safe

Sharp content, soft arrival

Purpose

BlurReveal brings content from a small blur, opacity and translate offset into focus. It is a quiet entrance for editorial sections, cards and supporting copy.

Use low blur (about 4–10px), short travel (12–24px) and one in-view trigger. Do not use it on every nested element or for content that must be visible before an observer runs. Pair it with a static layout and let the hierarchy come from timing, not large movement.

The shared observer pool avoids one observer per child. Reduced motion renders sharp content immediately; the final DOM remains readable and semantic. Avoid blur-heavy stacks because they are expensive to paint.

Source: packages/skills/motion/blur-reveal.md