Mask Text Reveal
A clean masked text reveal that lifts real DOM text into view for SaaS headlines, section intros, and polished landing-page copy.

Overview
Mask Text Reveal helps important words arrive with intent: lines rise through a clean mask.
Reach for it on headlines, launch claims, section openers, and one-line proof. Keep it away from body copy, error messages, legal text, and instructions, where reading has to be effortless.
The risk in production is that the words get lost in the motion. The resolved phrase has to be real DOM text, the animation must not spell itself out to a screen reader, and a reduced-motion visitor should land on the final, readable state at once.
Install Command
This is a Pro Effect.
You can preview it now. Upgrade to Pro for instant install access.
Usage Code
This is a Pro Effect.
You can preview it now. Upgrade to Pro for instant install access.
Component Code
This is a Pro Effect.
You can preview it now. Upgrade to Pro for instant install access.
Example Production Use Case
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.
Best Used For
- Polished SaaS headlines and section intros that need controlled line-by-line emphasis.
- Short copy blocks where the reveal should feel clean, not noisy.
- Mask Text Reveal makes a short phrase arrive with timing while keeping the final text readable and indexable.
Not For
Not for body text, labels, errors, legal copy, or anything a user must read right away.
Performance Budget
Limit motion to the phrase that earns it, hold its layout space ahead of time, and keep heavy filters off large blocks of text.
Accessibility and Mobile
Make the whole phrase available to assistive technology a single time; where the text is split into per-character spans, mark the duplicates aria-hidden.
Common Mistakes
- Using Mask Text Reveal on long body copy.
- Removing the readable text from the DOM.
- Letting split text cause layout shift.
Changelog
v1.1.1
Jul 30, 2026v1.1.0
Jul 21, 2026v1.0.0
Feb 10, 2026Props
| Prop | Type | Default | Description |
|---|---|---|---|
animateOnScroll | boolean | true | Runs reveal on scroll. |
stagger | number | 0.2 | Delay between animated lines. |
duration | number | 5.5 | Mask reveal duration. |
delay | number | 0 | Animation delay. |
scrub | boolean | false | Links the reveal to scroll progress. |
Frequently Asked Questions
When should I use Mask Text Reveal?
Use it when a polished SaaS section needs lines rising through a clean mask.
How do I keep Mask Text Reveal accessible?
Ship the final phrase in the DOM and surface it a single time, hiding duplicated animated fragments from assistive technology where needed.
Does Mask Text Reveal affect SEO?
Not when the final text ships as real HTML rather than living inside canvas or client-only animation.
How do I avoid layout shift with Mask Text Reveal?
Pre-reserve the final text's space so line breaks stay put across breakpoints.
What should reduced motion do for Mask Text Reveal?
Render the settled, legible text at once, with no scrambling, staggering, or looping.
Request a Custom Text Animation
Need a custom effect? Tell us what to create.


