404 pages and error pages
Not found, server error, maintenance, coming soon and offline. Each one helps people on instead of leaving them stuck.
Switch category
Marketing
- Hero17
- Features15
- Logo clouds8
- Stats8
- Pricing11
- Testimonials11
- Call to action11
- FAQ7
- Newsletter12
- Banners9
- Popups and consent7
- Services7
- Use cases6
- Security and trust7
- Changelog and roadmap6
- Launch and waitlist6
- Product tour6
- Press and awards10
- AI features6
- App download5
- Donations and support4
- Problem and solution5
- Objections5
- Calculators10
- Quiz and product finder5
- Free trial5
- Referral and partners10
- Community5
- Open source5
- Manifesto5
- Offer5
- Lead magnet4
- Scroll stories20
- Scroll journeys13
- Scroll effects13
- Scroll reveals and transitions15
Content
- Blog16
- Gallery7
- Team8
- About11
- Content8
- Process7
- Contact8
- Comparison5
- Integrations5
- Error pages5
- Careers7
- Case studies6
- Portfolio6
- Events and webinars6
- Help center6
- Legal pages5
- Documentation4
- Search results5
- Resources and downloads4
- Podcast4
- Editorial15
- Authors and interviews10
- Glossary5
- Recipes5
- Data stories10
- Long reads5
- Surveys and feedback14
- Form states12
- Request forms16
- Applications and sign-ups13
- Address, payment and consent12
App
- Authentication9
- Dashboards6
- Tables6
- Settings5
- AI and chat16
- Calendar5
- Inbox and messages5
- Notifications6
- Files6
- Projects6
- Profiles6
- Onboarding6
- Billing and usage10
- Developer settings15
- Security and access10
- Import, export and history15
- Automation and builders14
- AI answers18
- AI writing and creation13
- AI setup14
- AI assistants9
E-Commerce
Industries
- Menus7
- Appointments6
- Listings6
- Courses6
- Rooms and stays5
- Classes and schedules6
- Medical practice5
- Law firm5
- Salon and spa5
- Automotive5
- Travel5
- Sports club5
- Coworking5
- Museum5
- Cinema5
- School5
- Trades5
- Insurance5
- Banking5
- Personal brand15
- Speakers and media kits10
- Creators15
- Coaching and consulting10
- Artists and musicians15
- Dental practice5
- Veterinary practice5
- Therapy practice5
- Weddings and events5
- Architecture studio5
- Tax advisor5
- Estate agent5
- Florist5
- Winery5
- Daycare5
- Driving school5
- Care services5
- Festival5
Elements
- Buttons20
- Forms and inputs22
- Pickers and selections21
- Special input fields20
- Cards10
- Overlays21
- Navigation elements15
- Menu bars and switchers14
- Data display15
- Progress and states13
- Lists, trees and timelines17
- Charts22
- Comparison charts22
- Statistical charts20
- KPI, live and map charts22
- Text effects15
- Text accents16
- Backgrounds19
- Beams, particles and motion18
- Media19
- Code and JSON8
- Panels and splitters4
A dead end that leads somewhere
An error page is a moment where many sites lose the visitor. The five variants here keep the frame of your site, say plainly what happened and offer the next useful step, such as search, the start page or a way to report the problem.
404 with search is the page for addresses that do not exist, with a search field and the most visited pages. 500 with error ID shows a reference the visitor can send to support. Maintenance says when the site is back, Coming soon collects addresses before a launch, Offline appears when the connection drops in an app.
Return the right status code from your server, the page alone does not do that. Keep the tone calm and take responsibility instead of blaming the visitor. Link the start page and two or three common destinations, a 404 that leads on keeps people on the site.
Details
What Error pages brings along, read from the registry and the source.
- Area
- Content
- Variants
- 5
- Version
- 1.0.1 · since 1.0.0
- File
- components/ui/error-page.tsx
- npm packages
- None
- Languages
- English and German, 31 texts of its own
- Studio
- All 5 variants editable
- Build with AI
- Over MCP in Claude, Cursor, Copilot and Codex
Props
The ErrorPageProps interface from components/ui/error-page.tsx, with the comments from the code.
variantoptionalErrorPageVariantnot-foundserver-errormaintenancecoming-soonoffline
brandoptionalReact.ReactNodeYour logo or name at the top of the page
codeoptionalstringStatus code or a short label, e.g. 404
titlerequiredReact.ReactNodedescriptionoptionalReact.ReactNodeprimaryActionoptional{ label: string; href: string }secondaryActionoptional{ label: string; href: string }linksoptionalErrorPageLink[]Popular pages (not-found) or pages that work offline (offline)
searchActionoptionalstringWhere the search form sends the query as ?q= (not-found)
errorIdoptionalstringserver-error
timestampoptionalstringpathoptionalstringstatusHrefoptionalstringetaoptionalstringmaintenance
progressoptionalnumber0 to 100
updatesoptionalErrorPageUpdate[]launchDateoptionalstringcoming-soon: ISO date and time, e.g. 2026-12-01T09:00:00Z
waitingoptionalReact.ReactNodeonNotifyoptional(email: string) => void | Promise<void>tipsoptionalstring[]offline
Built-in texts
Error pages writes these texts itself. The language follows the KitProvider, the labels prop replaces single ones.
Show all 31 texts
| Key | English | German |
|---|---|---|
| search | English Search the site | German Website durchsuchen |
| searchPlaceholder | English What were you looking for? | German Wonach hast du gesucht? |
| searchButton | English Search | German Suchen |
| popular | English Popular pages | German Beliebte Seiten |
| home | English Back to the homepage | German Zur Startseite |
| retry | English Try again | German Erneut versuchen |
| retrying | English Trying | German Versuche |
| copy | English Copy error ID | German Fehler-ID kopieren |
| copied | English Copied | German Kopiert |
| errorId | English Error ID | German Fehler-ID |
| time | English Time | German Zeit |
| page | English Page | German Seite |
| status | English System status | German Systemstatus |
| eta | English Expected back | German Voraussichtlich zurück |
| progress | English Progress | German Fortschritt |
| updates | English Updates | German Neuigkeiten |
| English Email address | German E-Mail-Adresse | |
| emailPlaceholder | English you@example.com | German du@beispiel.de |
| notify | English Notify me | German Benachrichtigen |
| notified | English Done. We will write to you on launch day, once. | German Erledigt. Wir schreiben dir am Starttag, einmal. |
| invalidEmail | English Please enter a valid email address. | German Bitte gib eine gültige E-Mail-Adresse ein. |
| days | English Days | German Tage |
| hours | English Hours | German Stunden |
| minutes | English Minutes | German Minuten |
| seconds | English Seconds | German Sekunden |
| online | English Back online | German Wieder online |
| reload | English Reload page | German Seite neu laden |
| offline | English No connection | German Keine Verbindung |
| stillOffline | English Still no connection. Check the tips below. | German Weiterhin keine Verbindung. Schau dir die Tipps unten an. |
| tips | English Things to try | German Das kannst du versuchen |
| saved | English Available offline | German Offline verfügbar |
Accessibility
Read from the source of the component.
- Sets aria-describedby, aria-invalid, aria-label, aria-live, aria-valuemax, aria-valuemin and aria-valuenow, so screen readers announce purpose and state.
- Uses the roles progressbar, search and status.
- Announces changes through a live region without moving focus.
- Every field has a label, visible or for screen readers.
- Adds text for screen readers where icons and graphics stand alone.
- The server renders the starting state in full, JavaScript only adds the interaction.
Motion
- Rises in briefly the first time it comes into view (kit-rise, useInView).
- Brings animations of its own, calmly timed and without wobble.
- With reduced motion (prefers-reduced-motion) it stays still. 13 places in the code switch motion off then.
Frequent questions
How do I install Error pages?
With aiw add @ai-website/error-page. The command puts components/ui/error-page.tsx into your project, the code is yours from then on. It brings along button and icon. It needs no further npm packages.
Which variants does Error pages have?
5 variants, 404 with search, 500 with error ID, Maintenance, Coming soon and Offline. You pick one with the variant prop, for example variant="server-error".
Can I translate the texts of Error pages?
Yes. Error pages carries 31 texts of its own in English and German, such as “Search the site”, “What were you looking for?” and “Search”. The language follows the KitProvider, single texts change through the labels prop.
Can an AI assistant build with Error pages?
Yes. Through the MCP server of the aiw CLI, Claude, Cursor, GitHub Copilot, Windsurf, Codex and Gemini find Error pages with aiw_components and install it with aiw_add @ai-website/error-page. Name the variant in your prompt, for example variant="not-found", and the assistant writes your content straight into the props.
Can I adjust Error pages without code?
Yes, in the Studio. All 5 variants are editable there, texts, lists and switches. The Studio writes the matching ErrorPage code to copy.
Similar components, Often combined with
Similar components
More from Content, the same area of the kit.
Often combined with
Sections that usually sit next to Error pages on a page.
Loading the source