CrazyGLCrazyGLHomeExploreGitHubBrowse heroesLoading hero…← Back to gallery@crazygl/kinetic-text

Kinetic Text

Stacked lines where each word is timed independently — bounce in, rotate, scale, on a choreographed sequence. Pick whether the show plays on load, follows scroll, or loops forever.

ReactFont#kinetic#choreography#typography

Usage

import KineticText from '@crazygl/hero-kinetic-text';

export default function Hero() {
  return (
    <KineticText
      lines={`MOVE\nTHINGS\nFORWARD`}
      trigger="reveal"
      accentColor="#ff5c8a"
    />
  );
}

Customise

  • Contentlines (one line per row; the second line takes the accent colour).
  • Triggertrigger (loop, load, or reveal scroll-driven), loopAfter hold.
  • TimingperWordMs, stagger.
  • Scroll windowscrollStart / scrollEnd (% progress mapping the reveal).
  • TypographytextColor, accentColor, fontSize, headingFontFamily, headingFontWeight.
  • BackdroptransparentBackground, bgColor.

Best for

  • Brand and campaign landing pages
  • Product launches and announcement heroes
  • Agency and portfolio intros
  • Scroll-told stories where the headline animates as you arrive
01 · Install the package

One command, zero config.

npm install @crazygl/hero-kinetic-text
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 KineticText from '@crazygl/hero-kinetic-text';

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

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

Kinetic Text Motion

Words cycle through, each one wiping in and out as 40 horizontal stripes that scale staggered across a WebGL surface. Optional per-fragment blur, distortion or ripple effect.

Animated Flow Text

Each word rides its own sine wave with a per-letter phase offset — the line reads like a banner caught in a slow current.

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.

Colorful Type Motion

Each letter cycles through a hue palette on a phase offset — moving colour without a moving gradient. Pick from eight curated palettes spanning soft pastels to electric neon.

Kinetic Split Typography

A bold grotesk headline is split into horizontal slices that fly in from alternating sides, settle into alignment, and then parallax against the pointer at different depths.

Blurry Text FX

Each word starts heavily blurred and resolves into focus on a stagger. Plays once on load or loops with a configurable hold.
Live customizer

Kinetic Text

Animation triggerPer-word in (ms)500msStagger (ms)220msLoop hold (s)3sHold time before the choreography replays. Only used when trigger is Loop.Start (%)15%Scroll progress at which the reveal starts.End (%)70%Scroll progress at which the reveal completes.Text colourAccent lineFont size130pxFontWeight900Transparent backgroundBackground
CrazyGL · crazygl.comProgrammable hero sections for real websites.