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

Hover Text Reveal

A row of phrases where hovering one expands a stagger-typed paragraph beside it — the kind of FAQ heading-list interaction premium SaaS sites use.

ReactInteractiveFont#hover#reveal#typography

Usage

import HoverTextReveal from '@crazygl/hero-hover-text-reveal';

export default function Page() {
  return (
    <HoverTextReveal
      item1Title="What we do"
      item1Body="We design and build motion-rich product experiences end to end."
    />
  );
}

Customise

  • Itemsitem1Title/item1Body, item2Title/item2Body, item3Title/item3Body.
  • StyletitleColor, bodyColor, accentColor (active title), titleSize, bodySize, headingFontFamily, headingFontWeight.
  • BackdroptransparentBackground, bgColor.

Best for

  • FAQ or "how it works" sections that need to stay compact
  • Agency and studio landing pages introducing services
  • Premium SaaS heroes that reward exploration with a hover interaction
  • Editorial intro blocks where each line opens into a short statement
01 · Install the package

One command, zero config.

npm install @crazygl/hero-hover-text-reveal
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 HoverTextReveal from '@crazygl/hero-hover-text-reveal';

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

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

Each item shows a default heading; on hover the heading scrolls up and a secondary line scrolls in from below — list-of-services interaction.

Text Glitch Hover

Heading sits calm until you hover, then snaps into an RGB-split glitch. Stops cleanly on leave — restraint with a payoff.

Text Hover Icon

A sentence where designated keywords morph into a glyph on hover and bounce back to text on leave — the words become controls.

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.

Hover Text Link

A list of inline links with an animated underline-fill on hover — the text gets a coloured wipe that grows from left.

Text Split Reveal

Heading splits into two halves that slide apart to reveal a secondary line between them — the curtain-pull pattern.
Live customizer

Hover Text Reveal

Item 1 titleItem 1 bodyItem 2 titleItem 2 bodyItem 3 titleItem 3 bodyTitle colourBody colourActive titleTitle size (px)36pxBody size (px)18pxFontTitle weight700Transparent backgroundBackground
CrazyGL · crazygl.comProgrammable hero sections for real websites.