A moving-highlight text effect that guides attention across selected words, metrics, and short product claims.

Spotlight Text helps important words arrive with intent: a highlight moves across the words.
Best on short, high-emphasis text: headlines, launch lines, section openers, proof points. Avoid it on body copy, errors, legal text, or instructions, where legibility cannot be negotiable.
The thing to watch is the text disappearing into the effect. Ship the final phrase as genuine HTML, keep per-character motion out of the accessibility tree, and serve the settled, legible text immediately when motion is reduced.
You can preview it now. Upgrade to Pro for instant install access.
You can preview it now. Upgrade to Pro for instant install access.
You can preview it now. Upgrade to Pro for instant install access.
You can preview it now. Upgrade to Pro for instant install access.
Use this as text-animation implementation guidance. Verify the shipped component API, splitting strategy, accessible text exposure, duplicated span handling, layout reservation, and reduced-motion behavior before relying on exact props, defaults, imports, or installation steps.
Avoid it on body copy, labels, error and legal text, or any wording that has to be read on sight.
Move only the words that carry weight, pre-reserve their space to avoid shift, and skip costly filters on large text blocks.
Assistive technology should hear the phrase once, not character by character; visually split fragments are hidden from the accessibility tree with aria-hidden.
| Prop | Type | Default | Description |
|---|---|---|---|
baseTextColor | string | #525252 | Dim base text color. |
spotlightColor | string | #ffffff | Text color inside the spotlight. |
lerp | number | 0.08 | Pointer-follow smoothing amount; higher values track faster. |
spotlightSize | number | 220 | Spotlight radius in pixels. |
smoothness | number | 0.12 | Spotlight opacity smoothing amount. |
Use it when a headline needs a highlight moving across the words.
Keep the resolved phrase in the DOM, exposed once; mark any duplicated animated fragments hidden from assistive technology.
Not as long as the resolved text is genuine HTML and never trapped in canvas or client-only animation.
Hold the finished text's footprint so wrapping does not jump between breakpoints.
Land directly on the finished, readable text: no character scramble, no stagger, no loop.
Need a custom effect? Tell us what to create.