build69
build69  /  Components  /  Site  /  NotFound404

NotFound404

v1.0.18Updated 19 Oct 2026

404 not-found error page with helpful navigation back to safety. Full-page copy-paste template; baked-in demo content (edit the JSX to customise).

Preview

Live · 10 stories
CenteredOpen ↗
▸Why this is recommended404not-founderrorstatus+2

NotFound404 centred on the page.

Recommended for+14
  • ✓Error / status pages
  • ✓Missing-route fallbacks
Tags+6
404not-founderrorstatuspagecentered
Features+4
  • Centered, split and minimal layouts
  • Big 404 + message + home / back CTA
  • Self-contained — no required props
  • i18n: a labels prop overrides every built-in string; English defaults, brand-free copy
Not recommended for−2
  • ✕Inline empty states (use EmptyState)

Install

Ask your agent, or call the MCP tool directly. The resolved bundle is written into your project.

get_registry_item({ name: "NotFound404" })

Usage

import { NotFoundCentered } from '@/components/pages/error-404';

<NotFoundCentered />

Tick variants in the left menu — each adds a tab with that variant’s real story source, the same code the preview above renders.

Props

PropTypeRequired
hrefs

Where each link goes: home, invoices, stock, customers, help. They were literal fragments with no prop behind them, so an app that must not show a control leading nowhere could not use the template at all (fb_a35d817d). Defaults are the fragments the file shipped, so the preview is unchanged. Forbidden403 and ServerError500 take the same bag with their own keys.

Partial<Error404Hrefs>—
className

Optional wrapper class override

string—
labels

Override every built-in string and aria-label (i18n). Merged over DEFAULT_ERROR_404_LABELS (50 English keys). Every template in the file accepts it. NOTE: the rendered DEFAULTS are now English — they used to be hardcoded Thai, which no consumer could translate or ship; a Thai product passes its own labels. MCP feedback fb_ba2ec12f.

Partial<Error404Labels>—

Related