CrazyGLCrazyGLHomeExploreGitHubBrowse heroesLoading hero…← Back to gallery@crazygl/animated-404

Animated 404

Oversized 404 hero with the middle 0 swapped for an idle-orbiting glowing eye — the kind of error page people actually screenshot.

ReactInteractiveFont#404#error#typography

Usage

import Animated404 from '@crazygl/hero-animated-404';

export default function NotFound() {
  return (
    <Animated404
      errorCode="404"
      heading="Page not found"
      subheading="The thing you were looking for has been moved, deleted, or it never existed."
      ctaLabel="Take me home"
      ctaHref="/"
    />
  );
}

Customise

  • ContenterrorCode, heading, subheading, ctaLabel, ctaHref.
  • EyeirisColor, pupilColor, scleraColor, and eyeSensitivity (how far the eye follows the pointer).
  • TypographycodeColor, textColor, headingFontFamily (Google font), headingFontWeight.
  • BackdroptransparentBackground, bgColor, accentColor (glow + CTA tint).

Best for

  • 404 / error pages that need personality without being noisy.
  • Empty states and "nothing here yet" screens.
  • Maintenance or coming-soon pages with a playful, watchful mascot.
01 · Install the package

One command, zero config.

npm install @crazygl/hero-animated-404
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 Animated404 from '@crazygl/hero-animated-404';

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

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

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.

Animated Text Gradient

A heading filled with a slowly-shifting multi-stop gradient that loops across up to five user colours, with controllable angle and speed.

Animated Text Reveal

A paragraph that unblurs and fades in word by word as the viewer scrolls — with an initial blur and initial opacity that mean even the un-revealed words sit softly on the page rather than disappearing.

Gradient Text

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

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.

Card Expand Reveal

Horizontal accordion of cards — the active card stretches to reveal an inner story, others compress to vertical labels. Auto-cycles on idle.
Live customizer

Animated 404

Iris colourPupil colourSclera colourEye tracking0.35404 colourText colourFontWeight800Transparent backgroundBackgroundAccent glow
CrazyGL · crazygl.comProgrammable hero sections for real websites.