CrazyGLCrazyGLHomeExploreGitHubBrowse heroesLoading hero…← Back to gallery@crazygl/scrollreveal-pro

Scroll Reveal Pro

Multi-line heading where each line is masked and rises into view as the visitor scrolls — staggered, eased, with a small blur dropoff.

ReactFont#scroll#reveal#mask#typography

Usage

import ScrollRevealPro from '@crazygl/hero-scrollreveal-pro';

export default function Hero() {
  return (
    <ScrollRevealPro
      lines={"Design with intent.\nShip with confidence."}
      staggerPct={10}
      scrollStart={15}
      scrollEnd={70}
    />
  );
}

Customise

  • Contentlines (one heading line per newline).
  • RevealstaggerPct (delay between lines), riseDistance (how far each line travels), blurAmount (blur as it rises).
  • Scroll windowscrollStart / scrollEnd (the scroll-progress range over which the reveal plays).
  • TypographytextColor, fontSize, headingFontFamily, headingFontWeight, lineHeight.
  • BackdroptransparentBackground, bgColor.

Best for

  • Editorial and statement landing-page headlines.
  • Story / manifesto sections revealed on scroll.
  • Portfolio and agency intros that want a polished entrance.
01 · Install the package

One command, zero config.

npm install @crazygl/hero-scrollreveal-pro
02 · Render the component

Import once, drop it in.

The component takes the same props you see in the live customizer on the right — every default ships poster-quality.

hero.tsx
import ScrollRevealPro from '@crazygl/hero-scrollreveal-pro';

export default function Landing() {
  return (
    <ScrollRevealPro />
  );
}
03 · Use it in a page

SSR-safe by default.

The wrapper renders static HTML on the server and only initialises the canvas after hydration, so search engines see your copy.

page.tsx
// app/page.tsx — works in SSR-first frameworks (Next, Remix, Astro, etc.)
'use client';

import ScrollRevealPro from '@crazygl/hero-scrollreveal-pro';

export default function Page() {
  return (
    <section>
      <ScrollRevealPro
        heading="Say hi."
        subheading="Your new hero."
      />
      <article>
        <h2>Welcome</h2>
        <p>Your content keeps its own voice below the hero.</p>
      </article>
    </section>
  );
}
You might also like

Similar heroes

Text Reveal

Heading wiped in from a single direction via a hard clip-path mask, with a small per-letter delay — the foundational reveal everyone needs.

Mask Text Reveal

Text revealed as a moving circular mask sweeps across — the headline appears only where the image-shaped mask uncovers it.

On Scroll Typography

A headline whose transform is driven by scroll progress through the viewport — pick an animation flavour (scale / rotate / slide / blur / combo), tune the scroll window, and the headline does the rest.

Scroll Text Fade

A long block of copy that fades word-by-word as the visitor scrolls — early words go dim, current words pop, future words sit faded.

Scroll Text Color

A heading whose colour sweeps from start to end as the user scrolls — uses background-clip:text for crisp gradient handover.

Scroll Flow Text FX

Stacked rows of large text drift left/right at offset speeds as the visitor scrolls — like a marquee orchestrated by the page itself.
Live customizer

Scroll Reveal Pro

Stagger between lines (%)10%Rise distance100%Blur dropoff8pxStart (%)15%Scroll progress at which the effect starts. 0% = element just entering viewport, 100% = element just exiting.End (%)70%Scroll progress at which the effect completes.Text colourFont size88pxFontWeight700Line height1.05Transparent backgroundBackground
CrazyGL · crazygl.comProgrammable hero sections for real websites.