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

Hover Text Highlight

A heading whose words light up on hover — a coloured backdrop wipes in from one side, and out the other when the cursor leaves. Pick Background (full bleed) or Underline (band only).

ReactInteractiveFont#hover#highlight#typography#interaction#wipe

Usage

import HoverTextHighlight from '@crazygl/hero-hover-text-highlight';

export default function Page() {
  return (
    <HoverTextHighlight
      heading={"Highlight every word\non hover."}
      hoverStyle="Background"
      wipeDirection="leftToRight"
      effectColor="#01a3ff"
    />
  );
}

Customise

  • EffecthoverStyle (Background full-bleed vs Underline band), wipeDirection (leftToRight / rightToLeft), transitionDuration (snappy at 0.3s, luxurious at 0.6s+), underlineThickness, previewAutoHover.
  • ColourstextColor (heading at rest), effectColor (the highlight band).
  • TypographytextAlign, fontSize, lineHeight, letterSpacing, headingFontFamily, headingFontWeight.
  • BackdropbgColor, transparentBackground to compose over the page.

Best for

  • Editorial and portfolio landing pages where the headline invites interaction
  • Brand mission statements and "We do X. Y. And Z." product pages
  • Agency / studio site headers and tech-blog hero stories
01 · Install the package

One command, zero config.

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

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

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

Highlight Text

A heading with marker-highlighter strokes drawn behind specific words — like a printed page someone marked up. Words wrapped in *asterisks* get highlighted with the accent colour.

Highlight Cycling

A coloured highlighter sweeps across the line one word at a time — like a presenter underlining the key word as they speak it.

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 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.

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.
Live customizer

Hover Text Highlight

Hover styleHow the highlight reads. Background fills the whole word; Underline draws a coloured band along the bottom.Wipe directionWhich side the highlight wipes IN from. On un-hover the wipe exits from the opposite side.Wipe duration0.3sHow long the wipe takes. 0.3s reads as snappy; 0.6s reads as luxurious.Auto-hover when idleWhen no cursor is detected for a moment (static preview, embeds, cards), cycle the hover across each word so the effect is visible.Text colourHeading text colour at rest.Hover colourColour of the highlight band.AlignmentHeading alignment.Font size84pxHeading font size.Line height1.15Line height.Letter spacing-0.01emTracking.Heading fontFamily.Heading weight600Weight.Transparent backgroundSkip the deepest backdrop.Background colourCanvas backdrop colour.InteractivityWhich input drives the hero — try Scroll if you want the page to drive motion.
CrazyGL · crazygl.comProgrammable hero sections for real websites.