Back to compare picker

Page not found page vs Service unavailable page vs Error state vs Empty state

Choose service unavailable page when the route exists but the service, transaction, or entry point is closed, under maintenance, overloaded, or temporarily unable to handle requests.

Learn the decision

Match the interaction to the person's task

Choose service unavailable page when the route exists but the service, transaction, or entry point is closed, under maintenance, overloaded, or temporarily unable to handle requests.

Page not found page

Use it when: The team needs to measure and repair broken links.

Make this state clear: Unknown route from typed or pasted URL.

Observe the result: A user who mistyped a web address sees clear check-the-address advice and can search the service immediately.

Study the full pattern →

Service unavailable page

Use it when: Maintenance, overload, incident response, dependency failure, deployment, or permanent closure blocks normal use.

Make this state clear: Planned maintenance page with start or return time.

Observe the result: A user returns during planned maintenance, sees a precise reopening time, learns their draft is saved, and uses an alternate phone channel for an urgent deadline.

Study the full pattern →

Error state

Use it when: A system or task failure blocks expected content or action.

Make this state clear: Normal expected state before failure.

Observe the result: User input and filter context are preserved after failure, and retry returns to recovered content or a clear still-failed state.

Study the full pattern →

Empty state

Use it when: A next setup, creation, import, sample, or access-request action is available or explainable.

Make this state clear: First-use empty state before any objects exist.

Observe the result: Users can create the first project, import existing work, or request access depending on the actual cause.

Study the full pattern →

Practice the judgment: Imagine this situation: A failed data load inside an existing route opens a 404 page, losing the user's filters, draft, and retry context. Write the person's goal, choose one of these patterns, and show the state that helps the person continue. Use the decision rules and source trail below to explain your choice.

Review the underlying principle →

Decision dimensions

Dimension Page not found pageService unavailable pageError stateEmpty state
UI or UX UI + UX - Missing-route recovery pageUI + UX - Whole-service unavailable pageUI + UX - Recoverable failure surfaceUI + UX - Resolved no-data content surface
UI guidance Keep standard header and footer navigation when it helps orientation, but avoid breadcrumbs or path trails that imply the missing page has a valid hierarchy.Render a full page with the service name, unavailable scope, status, return time or update promise, saved-work status, alternate route, support contact, and request or incident reference when available.Render a persistent error region near the affected content with a specific failure heading, plain-language cause, preserved context, and recovery actions.Keep surrounding context such as table title, filters, or workspace name visible so users know exactly what is empty.
UX guidance Help the person reach a clear task outcome.Use a service unavailable page when the service, transaction, or route is intentionally closed, under maintenance, overloaded, permanently closed, or unable to handle requests at the entry point.Match the next action to the failure cause: retry transient failures, edit correctable input, use cached fallback for read-only continuity, or provide support reference when recovery is outside the UI.Move users toward the first useful object or prerequisite, and replace unavailable actions with permission or configuration guidance.
Good UI The interface shows a clear action and state.A benefits application page says the service is unavailable from 22:00 to 01:00, names the affected transaction, says saved drafts remain for 30 days, and links to urgent phone support.A failed save state keeps the draft visible and labels the support reference separately from the user-facing explanation.Permission variant explains that projects exist only after an admin grants access and offers Request access instead of Create.
Bad UI A bare 404 code with a single Home button.A blank white page with only 503 in the browser title.Tiny transient toast for a blocking failure.Oversized decorative art and vague welcome copy that hides the task.
Good UX A user who mistyped a web address sees clear check-the-address advice and can search the service immediately.A user returns during planned maintenance, sees a precise reopening time, learns their draft is saved, and uses an alternate phone channel for an urgent deadline.User input and filter context are preserved after failure, and retry returns to recovered content or a clear still-failed state.Users can create the first project, import existing work, or request access depending on the actual cause.
Bad UX A missing page is described as a service outage even though the rest of the service works.Users miss a deadline because urgent offline support is omitted from the outage page.Clearing work after save failure.A primary Create button is shown to a read-only user and fails after activation.
Best fit The team needs to measure and repair broken links.Maintenance, overload, incident response, dependency failure, deployment, or permanent closure blocks normal use.A system or task failure blocks expected content or action.A next setup, creation, import, sample, or access-request action is available or explainable.
Avoid when The service route exists but is temporarily closed, overloaded, or under maintenance.Only one local section or action failed and users can recover inside the current page.Nothing exists yet and the state is expected.The absence was caused by filters or search.
Required state Unknown route from typed or pasted URL.Planned maintenance page with start or return time.Normal expected state before failure.First-use empty state before any objects exist.
Accessibility burden Keep the explanation and recovery actions in logical reading order after the heading.Keep the explanation in normal reading order with clear paragraphs and links that describe the destination.Use appropriate alert or status semantics for newly appearing critical errors.Keep the message in normal reading order near the empty region it explains.
Common misuse Showing only a code, stack trace, route matcher name, or framework error.Using a full-page spinner for a closed service.Using a transient toast for critical errors.Using marketing copy instead of a task-specific next step.

Page not found page

UI or UX
UI + UX - Missing-route recovery page
UI guidance
Keep standard header and footer navigation when it helps orientation, but avoid breadcrumbs or path trails that imply the missing page has a valid hierarchy.
UX guidance
Help the person reach a clear task outcome.
Good UI
The interface shows a clear action and state.
Bad UI
A bare 404 code with a single Home button.
Good UX
A user who mistyped a web address sees clear check-the-address advice and can search the service immediately.
Bad UX
A missing page is described as a service outage even though the rest of the service works.
Best fit
The team needs to measure and repair broken links.
Avoid when
The service route exists but is temporarily closed, overloaded, or under maintenance.
Required state
Unknown route from typed or pasted URL.
Accessibility burden
Keep the explanation and recovery actions in logical reading order after the heading.
Common misuse
Showing only a code, stack trace, route matcher name, or framework error.

Service unavailable page

UI or UX
UI + UX - Whole-service unavailable page
UI guidance
Render a full page with the service name, unavailable scope, status, return time or update promise, saved-work status, alternate route, support contact, and request or incident reference when available.
UX guidance
Use a service unavailable page when the service, transaction, or route is intentionally closed, under maintenance, overloaded, permanently closed, or unable to handle requests at the entry point.
Good UI
A benefits application page says the service is unavailable from 22:00 to 01:00, names the affected transaction, says saved drafts remain for 30 days, and links to urgent phone support.
Bad UI
A blank white page with only 503 in the browser title.
Good UX
A user returns during planned maintenance, sees a precise reopening time, learns their draft is saved, and uses an alternate phone channel for an urgent deadline.
Bad UX
Users miss a deadline because urgent offline support is omitted from the outage page.
Best fit
Maintenance, overload, incident response, dependency failure, deployment, or permanent closure blocks normal use.
Avoid when
Only one local section or action failed and users can recover inside the current page.
Required state
Planned maintenance page with start or return time.
Accessibility burden
Keep the explanation in normal reading order with clear paragraphs and links that describe the destination.
Common misuse
Using a full-page spinner for a closed service.

Error state

UI or UX
UI + UX - Recoverable failure surface
UI guidance
Render a persistent error region near the affected content with a specific failure heading, plain-language cause, preserved context, and recovery actions.
UX guidance
Match the next action to the failure cause: retry transient failures, edit correctable input, use cached fallback for read-only continuity, or provide support reference when recovery is outside the UI.
Good UI
A failed save state keeps the draft visible and labels the support reference separately from the user-facing explanation.
Bad UI
Tiny transient toast for a blocking failure.
Good UX
User input and filter context are preserved after failure, and retry returns to recovered content or a clear still-failed state.
Bad UX
Clearing work after save failure.
Best fit
A system or task failure blocks expected content or action.
Avoid when
Nothing exists yet and the state is expected.
Required state
Normal expected state before failure.
Accessibility burden
Use appropriate alert or status semantics for newly appearing critical errors.
Common misuse
Using a transient toast for critical errors.

Empty state

UI or UX
UI + UX - Resolved no-data content surface
UI guidance
Keep surrounding context such as table title, filters, or workspace name visible so users know exactly what is empty.
UX guidance
Move users toward the first useful object or prerequisite, and replace unavailable actions with permission or configuration guidance.
Good UI
Permission variant explains that projects exist only after an admin grants access and offers Request access instead of Create.
Bad UI
Oversized decorative art and vague welcome copy that hides the task.
Good UX
Users can create the first project, import existing work, or request access depending on the actual cause.
Bad UX
A primary Create button is shown to a read-only user and fails after activation.
Best fit
A next setup, creation, import, sample, or access-request action is available or explainable.
Avoid when
The absence was caused by filters or search.
Required state
First-use empty state before any objects exist.
Accessibility burden
Keep the message in normal reading order near the empty region it explains.
Common misuse
Using marketing copy instead of a task-specific next step.
Decision rules
  • Choose page not found page when the user follows a broken link, mistypes or pastes an incomplete address, opens a removed page, or returns to an expired deep link and the product cannot resolve a valid destination.
  • Choose service unavailable page when the route exists but the service, transaction, or entry point is closed, under maintenance, overloaded, or temporarily unable to handle requests.
  • Choose error state when a valid page or component fails to load, save, sync, authorize, or compute and recovery can happen within the surrounding shell.
  • Choose empty state when a valid page loads successfully and the resolved collection, dashboard, inbox, or workspace legitimately has no content.
  • A page not found page should keep service identity, state that the page cannot be found, explain likely causes without blame, and offer search, start page, dashboard, contact, report-broken-link, or current-task routes.
  • Do not auto-redirect from a page not found page without explanation; users need to know that their URL or link did not resolve and how to recover.
  • For protected or sensitive objects, use privacy-preserving not-found copy only when the product intentionally does not disclose existence; do not reveal private titles, owners, or record IDs unless access policy allows it.
  • Set the HTTP response and analytics so the missing URL is measurable as a 404, not a successful page with not-found copy or a service outage.
Inspect live examples
Failure modes
  • A missing route shows a bare code and leaves users without search, start, dashboard, contact, or report-broken-link routes.
  • A planned maintenance window is labeled page not found, so users think a valid service was removed or their bookmark is wrong.
  • A failed data load inside an existing route opens a 404 page, losing the user's filters, draft, and retry context.
  • A valid empty dashboard is treated as page not found, hiding the creation or setup action that should help the user start.
  • A protected record page reveals the record name and owner in the not-found copy, confirming sensitive resource existence.
  • A 404 page returns a successful status or redirects to the homepage, preventing teams from finding broken links and users from understanding what happened.

Saved items