CrazyGLCrazyGLHomeExploreGitHubBrowse heroesLoading hero…← Back to gallery@crazygl/digit-up

Digit Up

A large number that counts from a start value up to an end value with configurable easing, decimals, prefix and suffix — the classic stats / numbers section, but as a full hero.

ReactFont#counter#number#stats#typography#headline

Usage

import DigitUp from '@crazygl/hero-digit-up';

export default function Hero() {
  return (
    <DigitUp
      startValue={0}
      endValue={42000}
      duration={2.5}
      suffix="+"
      label="Active customers worldwide"
    />
  );
}

Customise

  • NumberstartValue, endValue, decimals, prefix, suffix (thousand separators added automatically).
  • Animationduration, delay, easing (linear / ease-out / ease-in-out), loopInterval (replay period; 0 = one-shot).
  • Contentlabel caption below the number (empty hides it).
  • TypographytextColor, fontSize, letterSpacing, headingFontFamily, headingFontWeight.
  • BackdropbgColor, accentColor / accentStrength (radial bloom), transparentBackground.

Best for

  • Brand homepage stats reveals and "by the numbers" blocks.
  • SaaS landing-page key metrics and growth dashboards.
  • Conference / investor-relations splash numbers.
01 · Install the package

One command, zero config.

npm install @crazygl/hero-digit-up
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 DigitUp from '@crazygl/hero-digit-up';

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

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

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.

Blend Text

A heading with CSS mix-blend-mode applied so it changes appearance against whatever sits behind it — picks the inverse colour of the backdrop pixel, like ink on a poster.

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.

Rolling Text

Each character rolls through a vertical stack of duplicate copies of itself in a continuous loop, with a blur pulse mid-roll and a per-character stagger.

Text Video Mask

A wordmark rendered as a window into a looping video (or a still photograph), with the rest of the canvas filled by a solid backdrop colour. The text IS the visible footage.

Image Masked Text

A heading whose letterforms are filled with a photograph. Uses native CSS background-clip:text so the wordmark stays selectable and crisp at any zoom, with cover, contain, or custom-percent fit modes.
Live customizer

Digit Up

Start valueEnd valueDecimals0PrefixSuffixDuration2sDelay0.2sEasingLoop every6sReplay periodically. 0 disables.Number colourNumber size200pxLetter spacing-0.04emNumber fontNumber weight800Transparent backgroundBackground colourAccent glow colourAccent glow strength0.4
CrazyGL · crazygl.comProgrammable hero sections for real websites.