HTTP error pages¶
HTTP error pages explain why a request failed and guide users to a meaningful next step.
Usage¶
HTTP error pages are full-page messages for request failures such as missing pages, missing permissions, or server errors.
They are built with the info page component as the base layout.

When to use¶
- When navigation to a page fails because the requested resource is unavailable or blocked.
- When an application route represents a standalone error state, such as
401,403,404, or500.
Best practices¶
- Do not use them for transient background failures that can be communicated with inline notifications or toast notifications.
- Codes can be remapped deliberately (on server side) when necessary, for example showing a 404 page for a 403 error to avoid revealing that a restricted resource exists.
Design¶
Anatomy¶

- Illustration
- Heading: State the problem in a short, human-readable way with the error code.
- Description (optional): Briefly explain what happened or what could have caused it.
- Actions (optional): Offer a relevant escape path or recovery action.
Visual guidance¶
There are five predefined illustrations mapped to different error codes.

| Illustration | Use for | Meaning | Mapped codes |
|---|---|---|---|
| Document | Request errors and unsupported requests | The request cannot be processed in its current form. | 400, 405, 406, 409, 411412, 413, 414, 415, 417421, 422, 428, 431 |
| Lock | Authentication and access restrictions | The user must sign in, does not have access, or the resource is restricted. | 401, 403, 407423, 451, 511 |
| Magnifier | Missing resources | The page or resource cannot be found or is no longer available. | 404, 410 |
| Hourglass | Timeout and temporary availability issues | The service is busy, delayed, or temporarily unavailable. | 408, 425, 429, 504 |
| Plug | Server and backend failures | The application or an upstream service failed unexpectedly. | 500, 501, 502, 503505, 506, 507, 508, 510 |
- Dedicated UX writing copy already exists for common error types.
- For less common errors that do not have dedicated UX writing copy, use the error code together with the official HTTP status title from the IANA HTTP status code registry.
Code¶
Except where otherwise noted, content on this site is licensed under MIT License.