CrazyGLCrazyGLHomeExploreGitHubBrowse heroesLoading hero…← Back to gallery@crazygl/scrollflowtextfx

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.

ReactFont#scroll#marquee#typography

Usage

import ScrollFlowTextFx from '@crazygl/hero-scrollflowtextfx';

export default function Hero() {
  return (
    <ScrollFlowTextFx
      row1="design · build · ship · "
      row2="motion · type · code · "
      row3="studio · crazygl · "
    />
  );
}

Customise

  • Contentrow1, row2, row3 (each row's repeating text).
  • MotionbaseDrift (constant idle crawl), scrollDrift (scroll-driven shift strength).
  • Scroll windowscrollStart, scrollEnd (the % progress range the effect maps to).
  • Typographyrow1Color, row2Color, row3Color, fontSize, headingFontFamily, headingFontWeight.
  • BackdroptransparentBackground, bgColor.

Best for

  • Studio, agency, and portfolio landing pages.
  • Bold editorial intros and brand keyword strips.
  • Section dividers that react to scroll for a kinetic feel.
01 · Install the package

One command, zero config.

npm install @crazygl/hero-scrollflowtextfx
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 ScrollFlowTextFX from '@crazygl/hero-scrollflowtextfx';

export default function Landing() {
  return (
    <ScrollFlowTextFX />
  );
}
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 ScrollFlowTextFX from '@crazygl/hero-scrollflowtextfx';

export default function Page() {
  return (
    <section>
      <ScrollFlowTextFX
        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

Scroll Text FX

Each letter scales, rotates and brightens as it passes the scroll midpoint — an editorial mid-line emphasis effect.

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.

Text Rotation

A static prefix with a vertical slot-machine rotator behind it — each word slides up, settles, and the next one rises into place.

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 Synced Text

A series of statements that swap one at a time as the user scrolls — the heading is pinned at viewport-centre and the next statement crossfades in as you scroll through the hero's 200vh of vertical space.
Live customizer

Scroll Flow Text FX

Idle drift speed0.06Continuous marquee drift independent of scroll. 0 = idle drift off (pure scroll-driven).Scroll shift strength1How much the rows shift in response to scroll position. 0 = scroll has no effect.Start (%)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.Row 1 colourRow 2 colourRow 3 colourRow font size110pxFontWeight800Transparent backgroundBackground
CrazyGL · crazygl.comProgrammable hero sections for real websites.