Back to compare picker

Banner vs Alert vs Inline message vs Toast notification

Choose banner when the message applies across a product, service, account, workspace, or whole section and should sit at the top of the related interface while users continue working.

Decision dimensions

Dimension BannerAlertInline messageToast notification
UI or UX UI + UX - Top-of-interface broad-scope messageUI + UX - Urgent current-task status messageUI + UX - Contextual in-flow feedbackUI + UX - Transient non-modal status message
UI guidance Render the banner at the top of the interface or content area it governs, below required global chrome and before the page content that should be interpreted with that message.Render an alert as a visible message in the current task area with a clear severity cue, short title, consequence-focused body, and one direct action or safe dismissal when appropriate.Render the message inside the same row, card, panel, form section, or task region that it describes, with a clear tone, concise title, body text, and at most one local action or detail disclosure.Render toast notifications in a consistent non-modal region with short status text, clear severity, an optional close control, and at most one concise action.
UX guidance Use banners when users need broad context before continuing across several pages or sections, such as maintenance, service delay, account setup, rollout, policy, or official-site identity information.Use alerts when the user must notice a time-sensitive condition that affects their current task, such as session expiry, lost connection, unsaved work risk, failed submission, or a security-sensitive hold.Use inline messages when users need contextual feedback while continuing nearby work, such as a row-level warning, section-level success, local policy note, or task-specific next step.Use toast notifications for low-risk, short-lived feedback after an action completes or background work changes state without requiring the user to stop the current task.
Good UI A billing workspace shows Scheduled maintenance Saturday directly below the product header across all billing pages, with View schedule and Dismiss when safe.A session alert appears above the active editor, says the session expires in 2 minutes, and offers Save draft while keeping the editor usable.An invoice row shows Missing billing contact directly beneath the affected customer with Add contact as the only action.Export started appears in the top notification region with a timestamp, close control, and View jobs action that remains available in activity history.
Bad UI Three unrelated banners stack above the page heading and push the account task below the fold.A vague red strip says Warning with no object, consequence, or next step.A vague Important message appears above the whole page with no object reference.Five unrelated toasts pile up over the Save and Continue controls.
Good UX A user moves from Overview to Invoices and still sees the same maintenance banner because the outage affects the whole billing workspace.Users can renew the session, save a draft, or inspect details without losing typed work.Users can reveal why export is limited, add the missing contact, and see the local message resolve without losing table context.A completed archive action shows a short toast and a specific Undo action because the prior state can be restored.
Bad UX A field validation error appears in a banner, forcing users to hunt for the failing input.The only warning that unsaved work will be lost disappears after five seconds.The message disappears like a toast even though users still need the invoice reference.Every autosave tick triggers a toast, training users to ignore real status changes.
Best fit The message applies across several pages, routes, sections, records, or sessions.A current task has a time-sensitive warning, error, or important status change.A visible object or section has local status, warning, success, or next-step information.Use for short non-blocking confirmation after explicit actions such as save, copy, send, archive, invite, or queue export.
Avoid when The message affects only one field, object, row, panel, or local task section.The message belongs beside one object, row, field, or local section.The message is a one-field validation correction.The message is the only recovery path for a blocking or high-consequence failure.
Required state No-banner state when no broad-scope message applies.No-alert state with the task operating normally.Neutral local context with no message.Idle state with no visible toast and a reachable status or history region when applicable.
Accessibility burden Use a labelled region or landmark when the banner is persistent page content that users may want to navigate to.Use role alert for urgent dynamic text and avoid putting interactive controls inside the role-alert node itself.Keep the message in the reading order near the context it describes.Expose the toast as a status or alert message according to urgency so assistive technologies can announce it without requiring focus movement.
Common misuse Using a banner for one field error, one row warning, or one card status.Using a disappearing toast for warnings users must act on before continuing.Using an inline message for a single field error that should be connected to that input.Using a toast as the only feedback for payment, save, permission, upload, or security failures.

Banner

UI or UX
UI + UX - Top-of-interface broad-scope message
UI guidance
Render the banner at the top of the interface or content area it governs, below required global chrome and before the page content that should be interpreted with that message.
UX guidance
Use banners when users need broad context before continuing across several pages or sections, such as maintenance, service delay, account setup, rollout, policy, or official-site identity information.
Good UI
A billing workspace shows Scheduled maintenance Saturday directly below the product header across all billing pages, with View schedule and Dismiss when safe.
Bad UI
Three unrelated banners stack above the page heading and push the account task below the fold.
Good UX
A user moves from Overview to Invoices and still sees the same maintenance banner because the outage affects the whole billing workspace.
Bad UX
A field validation error appears in a banner, forcing users to hunt for the failing input.
Best fit
The message applies across several pages, routes, sections, records, or sessions.
Avoid when
The message affects only one field, object, row, panel, or local task section.
Required state
No-banner state when no broad-scope message applies.
Accessibility burden
Use a labelled region or landmark when the banner is persistent page content that users may want to navigate to.
Common misuse
Using a banner for one field error, one row warning, or one card status.

Alert

UI or UX
UI + UX - Urgent current-task status message
UI guidance
Render an alert as a visible message in the current task area with a clear severity cue, short title, consequence-focused body, and one direct action or safe dismissal when appropriate.
UX guidance
Use alerts when the user must notice a time-sensitive condition that affects their current task, such as session expiry, lost connection, unsaved work risk, failed submission, or a security-sensitive hold.
Good UI
A session alert appears above the active editor, says the session expires in 2 minutes, and offers Save draft while keeping the editor usable.
Bad UI
A vague red strip says Warning with no object, consequence, or next step.
Good UX
Users can renew the session, save a draft, or inspect details without losing typed work.
Bad UX
The only warning that unsaved work will be lost disappears after five seconds.
Best fit
A current task has a time-sensitive warning, error, or important status change.
Avoid when
The message belongs beside one object, row, field, or local section.
Required state
No-alert state with the task operating normally.
Accessibility burden
Use role alert for urgent dynamic text and avoid putting interactive controls inside the role-alert node itself.
Common misuse
Using a disappearing toast for warnings users must act on before continuing.

Inline message

UI or UX
UI + UX - Contextual in-flow feedback
UI guidance
Render the message inside the same row, card, panel, form section, or task region that it describes, with a clear tone, concise title, body text, and at most one local action or detail disclosure.
UX guidance
Use inline messages when users need contextual feedback while continuing nearby work, such as a row-level warning, section-level success, local policy note, or task-specific next step.
Good UI
An invoice row shows Missing billing contact directly beneath the affected customer with Add contact as the only action.
Bad UI
A vague Important message appears above the whole page with no object reference.
Good UX
Users can reveal why export is limited, add the missing contact, and see the local message resolve without losing table context.
Bad UX
The message disappears like a toast even though users still need the invoice reference.
Best fit
A visible object or section has local status, warning, success, or next-step information.
Avoid when
The message is a one-field validation correction.
Required state
Neutral local context with no message.
Accessibility burden
Keep the message in the reading order near the context it describes.
Common misuse
Using an inline message for a single field error that should be connected to that input.

Toast notification

UI or UX
UI + UX - Transient non-modal status message
UI guidance
Render toast notifications in a consistent non-modal region with short status text, clear severity, an optional close control, and at most one concise action.
UX guidance
Use toast notifications for low-risk, short-lived feedback after an action completes or background work changes state without requiring the user to stop the current task.
Good UI
Export started appears in the top notification region with a timestamp, close control, and View jobs action that remains available in activity history.
Bad UI
Five unrelated toasts pile up over the Save and Continue controls.
Good UX
A completed archive action shows a short toast and a specific Undo action because the prior state can be restored.
Bad UX
Every autosave tick triggers a toast, training users to ignore real status changes.
Best fit
Use for short non-blocking confirmation after explicit actions such as save, copy, send, archive, invite, or queue export.
Avoid when
The message is the only recovery path for a blocking or high-consequence failure.
Required state
Idle state with no visible toast and a reachable status or history region when applicable.
Accessibility burden
Expose the toast as a status or alert message according to urgency so assistive technologies can announce it without requiring focus movement.
Common misuse
Using a toast as the only feedback for payment, save, permission, upload, or security failures.
Decision rules
  • Choose banner when the message applies across a product, service, account, workspace, or whole section and should sit at the top of the related interface while users continue working.
  • Choose alert when a time-sensitive condition affects the user's current task now and needs immediate notice without a modal response.
  • Choose inline message when the message belongs beside a visible row, card, field group, panel, or task section rather than above the broader interface.
  • Choose toast notification when the message is brief, low consequence, and can safely disappear or move to history.
  • Use banner for scheduled maintenance, policy changes, official-site identity, account setup requirements, feature rollout notices, or cross-section service delays.
  • Do not use banner for validation errors, one-row warnings, one-field corrections, or failed content regions; those need error summary, inline message, inline validation, or error state.
  • Do not make a banner sticky unless the message must remain visible while scrolling and the layout has proved it will not cover navigation, form actions, or reading content.
  • Show one highest-priority banner per scope, combine closely related messages, and suppress or expire stale dismissed banners by audience, route, and version.
Inspect live examples
Failure modes
  • A row-specific invoice warning is promoted to a page banner, so users cannot identify the affected row.
  • Three product banners stack above the page heading and push the task out of view.
  • A routine saved confirmation sits in a top banner instead of using a toast or local status.
  • A current-task session warning is shown as a low-priority banner and missed before work expires.
  • A dismissed maintenance banner reappears on every route because dismissal is not scoped to the message version.
  • A site identity banner is customized so heavily that users cannot recognize the trust signal.