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

Rotating Text Badge

A self-contained rotating sticker badge — text on the rim of a circle, an icon (or your own word) in the middle, next to a heading.

ReactFont#badge#sticker#typography

Usage

import RotatingTextBadge from '@crazygl/hero-rotating-text-badge';

export default function Hero() {
  return (
    <RotatingTextBadge
      heading="new drop"
      subheading="available now"
      badgeText="FRESH · DROP · 26 · "
      badgeIcon="star"
    />
  );
}

Customise

  • Contentheading, subheading, badgeText (orbits the rim), badgeIcon (star / arrow / spark / none / any word).
  • MotionrotationSpeed (s/turn), badgeSize, badgeTextGap (rim text inset).
  • ColourstextColor, subColor, badgeColor, badgeTextColor, fontSize, headingFontFamily, headingFontWeight.
  • BackdroptransparentBackground, bgColor.

Best for

  • Product / streetwear drops and limited-edition launches.
  • Promo and announcement banners ("new", "sale", "available now").
  • Playful brand and portfolio hero sections.
01 · Install the package

One command, zero config.

npm install @crazygl/hero-rotating-text-badge
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 RotatingTextBadge from '@crazygl/hero-rotating-text-badge';

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

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

Circular Text Pro

Three concentric rings of text spinning at independent speeds, with a centred wordmark and accent dots — a fully composed badge.

Spin Text Circle FX

Up to three concentric rings of text spinning around an optional centre badge or image. Each ring has its own text, colour and speed (negative speed reverses direction); the radii pack inward automatically based on font sizes.

Rotating Text Pro

Slot machine with a 3D flip in X — the rotating word flips over a horizontal axis like a split-flap board.

Rotating Headline

A static two-line headline with one slot that rotates through a list of words — the prefix and suffix stay put, the rotating word cycles.

Gradient Text

Heading filled with a slowly drifting multi-stop linear gradient — three configurable colours, customizable angle, optional animation.

Text Doodles

Heading marked up with hand-drawn doodle annotations — circle one word, scribble under another, arrow into a third. Reads like a designer's notebook.
Live customizer

Rotating Text Badge

Rotation (s/turn)10sBadge size (px)180pxRim text inset18pxGap between the rim text and the badge edge. Higher values move the orbiting text closer to the centre.Heading colourSubheading colourBadge fillBadge text colourHeading size110pxFontWeight800Transparent backgroundBackground
CrazyGL · crazygl.comProgrammable hero sections for real websites.