Skip to main content

Toast

A toast notification is a brief, non-intrusive message that appears on the screen to provide users with information or alerts.

Overview

Toasts are used to inform users about processes within a system. They can also provide contextual feedback. They appear temporarily at the bottom of the screen and disappear after a certain time period or when the user performs an action to remove them.

A toast placed at the bottom of the page.

Dos and Don’ts

Do
  • Display only one toast at a time.
  • Limit your message to 35 characters for a single-line toast or 90 characters for a multi-line toast.
  • Be mindful of how often you trigger toasts.
  • Use for short messages that confirm an action taken by a user.
Don't
  • Don’t use toasts for critical information.
  • Don’t place the toast over any navigational elements.

Anatomy

Anatomy of a toast.
  1. Icon: Leading icon that visually supports the label.
  2. Message: Informs the user of the action they have performed.
  3. Action (optional): Button action to either dismiss the toast or to undo the action.
  4. Close (optional): Icon button to close the Toast.

Variations

Default

A default single-line toast; this can be used with or without an icon or action.

A toast component on its default variation.

Multi-line

If you require additional text for your message, please use the multi-line component. Maximum of 3 lines.

A toast component with multiple lines of text. The text is truncated so that a maximum of three lines are shown.

Modifiers

Strong

Use strong colour variants to increase the visual impact of your message.

The info, warning, success and error toast variants with the strong modifier applied.
  1. Info: Providing contextual information about the progress of an action.
  2. Warning: Providing non-critical information about the progress of an action.
  3. Success: Providing positive information about the progress of an action.
  4. Error: Providing critical information about the progress of an action. Please review if toast is the correct component to use. It may be better to use a dialogue, notification or banner.

Subtle

To create a message with less prominence you can use the subtle variant.

Multiple toasts with the subtle modifier.
  1. Info: Providing contextual information about the progress of an action.
  2. Warning: Providing non-critical information about the progress of an action.
  3. Success: Providing positive information about the progress of an action.
  4. Error: Providing critical information about the progress of an action. Please review if toast is the correct component to use. It may be better to use a dialogue, notification or banner.
  5. Neutral: Neutral: Providing non-urgent general information about the progress of an action.

Icons

When using an icon inside the toast component, you should make sure that the icon clearly conveys the intended meaning. Only use the icons that have been built into the component - do not supply your own.

Do
Two toast components using approved icons for the error and info states.
Don't
An error toast using an unapproved icon

Actions

If you are using actions, only use the pre-built button in the toast.

Do
Two toast components with close icon button and dismiss button
Don't
A toast incorrectly using a custom dismiss button.

Sizes

Height

The toast has a minimum height of 48px when displaying one line of text. It should not exceed 122px in height, which is enough to accommodate up to three lines of text.

A regular toast and a multi-line toast.

Width

The toast has a minimum width of 300px and a maximum width of 420px.

A 420px wide toast

Overflow

If the body copy extends beyond one line, it should automatically wrap to multiple lines. Multi-line text will be truncated so that it does not exceed three lines. For longer text content, consider an alternative component.

A regular toast and a multi-line toast.

Priority queue

Only one toast is displayed at a time. When toasts are consecutively or simultaneously triggered, their display order is defined by the priority queue.

Each level takes priority over those below it, queues alongside toasts of the same priority, and yields to higher priority levels.

PriorityVariant
1Error - actionable
2Error
3Warning - actionable
4Positive - actionable
5Info - actionable
6Neutral - actionable
7Warning
8Positive
9Info
10Neutral

Behaviours

Auto-dismiss

By default the toast automatically disappears after 5 seconds. However, the user can manually dismiss the toast before the timer ends if a close option is present. Additionally, users can pause the auto-dismissal by hovering over the toast, with the timer resetting once the mouse moves away.

A toast without a close icon button nor a dismiss button.
A toast with a close icon button.
A toast with a dismiss button.

Persistent

If the toast has a close icon button or a dismiss button, the toast can be persisted until the user manually dismisses it.

A toast with a close icon button.
A toast with a dismiss button.

Interactions

If the toast includes either a close icon button or a dismiss button, either can be used to dismiss the toast.

A toast with a close icon button.
A toast with a dismiss button.

Layout

LTR position

A toast should be located at the bottom left of the page’s content area, excluding any navigation.

A toast placed at the bottom-left of a page with a left-to-right direction.
  1. Wide: 24px padding
    Narrow: 16px padding

RTL position

A toast should be located at the bottom right of the page’s content area, excluding any navigation.

A toast placed at the bottom-left of a page with a right-to-left direction.
  1. Wide: 24px padding
    Narrow: 16px padding

Examples

LTR examples

Here are some examples of the toast component in a left-to-right context:

A toast component in a left-to-right context.

RTL examples

Here are some examples of the toast component in a right-to-left context:

A toast component in a right-to-left context.

Resources

Stable
Stable
Alpha
Vue [Fozzie]
N/A
Stable
iOS JustUI [UI Kit]
Stable
iOS PIE [SwiftUI]
Stable
Android PIE [Compose & Views]
Beta