Skip to main contentCarbon Design System

Status indicators

Status indicators are an important method of communicating severity level information to users. Different shapes and colors enable users to quickly assess and identify status and respond accordingly.

Overview

Indicators help users notice important changes or issues on a page. They are often used to show notifications, prioritized tasks, statuses, or updates. By drawing attention to specific elements, indicators guide users to what they need to focus on.

In this pattern we explore:

  • Choosing the best status indicators for your context
  • The different status indicator variants
  • What elements they are comprised of and how each element works to communicate
Overview image of status indicators

Variants

VariantUsageUse cases
Icon indicatorUsed any time the layout offers ample space and the content requires maximum attention. They require an icon, a shape, a meaningful color, and a descriptive inline label.Most often used in notifications, progress indicators, data tables, task lists, and dashboard widgets
Shape indicatorUseful in smaller spaces or when users need to scan large amount of data.Most often used in lists, dashboards, data tables, data visualizations, and network diagrams
Badge indicator (with number)Useful when a count of new or updated items is available, and it is important for the user to know the number of updates.Most often used in notification panes in the header and used in conjunction with avatars or icons
Badge indicator (without number)Useful when new or updated items are available and the number of notifications is unknown or irrelevant to the user. The dot badge is also more compact and discrete.Most often used in notification panes in the header and icon buttons in toolbars
Differential indicatorUseful when users are monitoring differentials in large lists of statistics and when anything other than type would be too obtrusive.Most often used in financial dashboards for highlighting deltas or other types of data visualizations

Icon indicators versus shape indicators

Status and shape indicators play a key role in providing feedback and guidance within products. However, they are used in different situations and serve distinct purposes depending on the product’s needs.

Icon indicators reflect system health, notifying users if everything is running smoothly or if issues arise, such as when a task is completed or fails after submitting a form. They provide feedback on the product’s overall state through system-wide notifications.

Shape indicators, as a secondary set of indicators, can be defined differently depending on the product. Their use cases include helping users prioritize tasks, like a red triangle for high-priority tasks, or showing the current phase of a component’s lifecycle, such as activated or deactivated. They don’t always necessarily indicate urgency.

Anatomy

Anatomy images of the five types of status indicators

1. Icon indicator

A. Text label
B. Icon (shape, color, and symbol)

3. Badge indicator

A. Shape with or without number (color)
B. Icon (outline)

2. Shape indicator

A. Text label
B. Icon (shape and color)

4. Differential indicator

A. Text label
B. Symbol (optional color)*

*Differential indicators must have either a “+” or “-” sign, a caret, or an arrow icon to indicate positive or negative values.

Designing with status indicators

Choosing for context

Choosing the right indicator for the context is important to ensure users can quickly understand the information and respond appropriately.

Consolidated statuses

When multiple statuses are consolidated, use the highest-attention color to represent the group. For example, if the statuses of underlying components are green, yellow, and red, the consolidated indicator is red.

Cognitive load

Don’t use status indicators when no user action is necessary and status information is not important enough to highlight. Use plain text instead to avoid the overuse of status indicators. While we won’t go as far a prescribing a maximum number, more than 5 or 6 indicators begins to tax a user and makes it difficult to focus.

Standardization

All status icons must be approved and published in the icon library to ensure consistency across products. This guidance includes only the most common status indicators, helping maintain a unified user experience and preventing unnecessary variations in the design system.

If your product needs an icon that’s not currently in this pattern, please reach out to the Carbon team to suggest its addition by creating a GitHub issue.

Severity levels

For ease of use, status indicators can be classified by severity levels, such as high, medium, and low attention. Product teams should define these levels based on their specific needs and use cases, considering how each level may impact the user’s response. High-severity levels, for example, may prompt immediate action, while lower levels may allow for a more passive response.

High attention

Use these indicators when immediate user action is required due to a system irregularity, malfunction, or when confirming a potentially destructive action. Examples include alerts, exceptions, confirmations, and errors.

Medium attention

Use these indicators when no immediate user action is required or to provide feedback to a user action. Some examples include acknowledgements and progress indicators.

Low attention

Use these indicators when something is ready to view, for system feedback, or to signify that something has changed since the last interaction.

Visual guidance

To communicate their message, indicators can take many forms—they’re not confined to iconography. There are four basic elements that comprise Carbon status indicators. (Note: we won’t get into animation and sound in this pattern.) And for WCAG compliance, at least three of these elements must be present. Let’s look at these elements more closely before examining specific status types.

  • Symbols
  • Shapes
  • Colors
  • Type

Status symbols

Icons are visual symbols that represent ideas, objects, or actions. They help communicate messages quickly, encourage interactivity, and highlight important information—like exclamation points for warnings, checkmarks for success, and question marks for help.

To keep icons consistent across IBM products, we’ve included only the most widely recognized symbols in the icon library. Some products may have specific modifications or need a more extensive set.

Examples of common status icons.

Examples of some of the most common status symbols

Status shapes

In this context, shapes refer to geometric figures like squares, circles, rectangles, and so on, as they are instantly readable even at small sizes. These shapes have strong visual associations that can be applied to help users succeed in using their product flows. For instance, shapes with straight lines and 90 degree angles usually convey structure and order—like the grid. While shapes with curves are friendlier and symbolize continuity and connection.

There can also be cultural associations connected with shapes. For example in traffic and wayfinding, hexagons mean stop, and upside triangles means yield. Using shapes incorrectly can disturb learned recognition patterns and confuse users, possibly hurting their overall experience.

A circle, a square, a diamond, a triangle and a hexagon

Example of the most common status shapes

Status color palette

The status palette includes all of the colors that can be used to reflect status. Typically, red represents danger or error, orange represents a serious warning, yellow represents a regular warning, green represents normal or success, and blue represents passive notifications, usually involving additional information and workflow progress. This status color palette also includes gray and purple to add more depth to the system. Gray indicates drafts or jobs that haven’t been started, and purple indicates outliers or undefined statuses.

01. Red 60da1e28
02. Green 5024A148
03. Orange 40ff832b
04. Orange 60 (outline)ba4e00
05. Yellow 30f1c21b
06. Yellow 60 (outline)8e6a00
07. Blue 700043ce
08. Purple 608a3ffc
09. Gray 606f6f6f

Extended status palettes

This palette is only for added contrast accessibility when using yellows and oranges. It’s not part of the IBM brand palette and is reserved for very selective use in data visualizations and certain status indicators. Do not use this palette in any other context or layout.

Yellow 10fcf4d6
Yellow 20fddc69
Yellow 30f1c21b
Yellow 40d2a106
Yellow 50b28600
Yellow 608e6a00
Yellow 70684e00
Yellow 80483700
Yellow 90302400
Yellow 1001c1500
Orange 10fff2e8
Orange 20ffd9be
Orange 30ffb784
Orange 40ff832b
Orange 50eb6200
Orange 60ba4e00
Orange 708a3800
Orange 805e2900
Orange 903e1a00
Orange 100231000

Status type

Status indicators have been paired with specific type sizes that work best in products. While shape indicators can be paired with a larger size, it’s recommended to use 14pt or 12pt in smaller spaces or when used as a secondary set of indicators alongside the icon indicator set.

VariantIcon sizeType size
Icon indicator20px16pt
16px14pt
Shape indicator16px14pt
16px12pt

Icon indicator

Icon indicators consist of an icon, a shape, a meaningful color, and a descriptive label. They are highly effective for communication and enhance scannability, especially in content-heavy layouts. Common uses include notifications, progress indicators, data tables, task lists, and dashboard widgets.

Carbon notification component

Notifications are the most prevalent example of this type of status indicator.

Icon indicator statuses

Suggested icon indicator status names are based on common use cases across products to help guide you in defining status notifications according to your system’s needs. These names are not intended to dictate the final status names in your product.

IconStatus nameTokenDescription & usage
Failed
$status-red, $status-accessibility-background-inverse
Indicates a process failure that needs immediate attention
Used for: failed processes, emergencies, urgent alerts
Caution major
$status-orange, $status-accessibility-background-inverse
Indicates a threshold has been breached; alerts a user before a critical event is triggered (only used in conjunction with ‘Caution’)
Used for: major caution, serious situations, critical instability
Caution minor
$status-yellow, $status-accessibility-background-inverse
Indicates the existence of a non-service affecting fault condition requiring corrective action to prevent a more serious fault
Used for: minor caution, prevention, instability
Undefined
$status-purple, $status-accessibility-background-inverse
Indicates a value that is outside of an acceptable range or formatted incorrectly
Used for: experimental work, outliers
Succeeded
$status-green, $status-accessibility-background-inverse
Indicates success at the end of a process (usually used as an interactive state within Carbon components, hence the color change)
Used for: success, completion, stability
Normal
$status-blue
Indicates stability or the clearing of one or more reported alarms; implies no issues are present
Used for: stability, active states
In progress
$status-blue
Indicates a process has started but has not finished running (icon will be replaced by ‘checkmark’ or ‘warning’ icon when the status of the job changes)
Used for: unfinished, running processes
Incomplete
$status-blue
Indicates a stepped process has begun but is not yet finished (icon appears in Carbon’s Progress Indicator component)
Used for: incomplete tasks
Not started
$status-gray
Indicates that a job or step (in Carbon’s Progress Indicator) has not yet been started
Used for: upstarted tasks or disabled processes
Pending
$status-gray, $status-accessibility-background-inverse
Indicates a job has started but can not be scheduled due to insufficient resources
Used for: indefinite holds
Unknown
$status-gray, $status-accessibility-background-inverse
Indicates that the status of an object is unknown
Used for: unknown, undefined status
Informative
$status-blue, $status-accessibility-background-inverse
Indicates additional (non-essential) information is available
Used for: additional information, exceptions

Labeling and type pairing

Icon indicators, also known as “contextual” status indicators, are linked to specific UI elements or content and should be placed near these elements for clarity. When the label is not descriptive or paired only with numbers, it’s best practice to provide a heading or additional content to clarify the status intention.

Status indicators within notification have different spacing since they are integrated into the notification component and do not follow the inline spacing rules.

Icon indicators are available in two sizes

Icon indicators are available in two sizes, each with recommended type size pairings.

Alignment

When stacked vertically, ensure the icons remain left-aligned with the accompanying text for easier scanning.

Aligned status indicator icons.

Do left align icons and type in lists and data tables, regardless of whether you’re using the responsive grid or spacers.

Misaligned status indicator icons

Do not push icons out of alignment with label length. In this case, where the status indicators are flush right, the two digit labels are pushing the icons out of alignment.

Shape indicator

Shape indicators use a shape, color, and descriptive label to convey the status of a device, feature, or version—without relying on a symbol.

Their use cases include helping users prioritize tasks, like a red triangle for high-priority tasks, or showing the current phase of a component’s lifecycle, such as activated or deactivated. They don’t always necessarily indicate urgency. Shape indicators are also used in diagrams and are designed to remain clear even at small sizes.

Example of a contextual shape status indicator

Example of the status label directly next to the shape

Shape indicator statuses

Suggested shape indicator status names are based on common use cases across products to help guide you in defining status notifications according to your system’s needs. These names are not intended to dictate the final status names in your product.

IconStatus nameTokenDescription & usage
Failed
$status-red
Indicates a severe process failure or error that needs immediate attention
Used for: critical failures, emergencies urgent alerts, deprecation and cancellation
Critical
$status-red
Indicates critical severity threat, critical severity object (like an IP), or critical risk of a data breach; based on a 1–10 scale
Used for: critical (10) threat, critical risk, critical severity warnings
High
$status-red
Indicates high severity threat, high severity object (like an IP), or high risk of a data breach; based on a 1–10 scale
Used for: high threat (7–9), high risk, high severity warnings
Medium
$status-orange/$status-orange-outline
Indicates medium severity threat, medium severity object (like an IP), or medium risk of a data breach; based on a 1–10 scale
Used for: medium threat (4–6), medium risk, medium severity warnings
Low
$status-yellow/$status-yellow-outline
Indicates low severity threat, low severity object (like an IP), or low risk of a data breach; based on a 1–10 scale
Used for: low threat (0–3), low risk, low severity warnings
Cautious
$status-yellow/$status-yellow-outline
When not using the Security risk/severity scale, this can be used to indicate the existence of a non-service affecting fault condition
Used for: minor caution, prevention, instability
Undefined
$status-purple
Indicates a value that is outside of an acceptable range or formatted incorrectly
Used for: experimental work, outliers
Stable
$status-green
Indicates stability or the clearing of one or more reported alarms; implies no issues are present
Used for: success, completion, stability, active states
Informative
$status-blue
Indicates additional information is available (can be used adaptively for statuses not taken into account by this table)
Used for: additional information, wild card
Incomplete
$status-blue
Indicates a process has started but not finished running or a user task is unfinished
Used for: unfinished, running processes
Draft
$status-gray
Indicates that a job has not been started, draft status of a job or a disabled process
Used for: unstarted tasks, drafts, disabled processes

Labeling and type pairing

Shape indicators are also “contextual” status indicators. Like the status icons above, assets have been created for the shape indicators that take into account optical alignment.

Shape indicators don’t have the added recognition of an icon, therefore, it’s important that they are paired with a status label.

Shape indicators size and type pairing

Shape indicators are available in one size, but paired with two recommended type sizes.

Example of shape indicator paired with a label

Example shows shape indicator paired with a label

Alignment

When stacked vertically, ensure the icons remain left-aligned with the accompanying text for easier scanning.

Do place shape indicators before labels; they can be placed after other text only if there is no character count variation.

Do place shape indicators before labels; they can be placed after other text only if there is no character count variation.

Do not place shape indicators after the labels to avoid pushing them out of alignment

Do not place shape indicators after the labels to avoid pushing them out of alignment.

Best practices

The status shapes offer more flexibility in interpretation compared to status icons, as shapes can have different colors for various situations. For best practices, consider avoiding the use of the same shape with different colors within the same experience.

Do use shape, color, and status labels to improve scannability.

Do use shape, color, and status labels for better scanning

Avoid using only color and status labels to differentiate your content.

Avoid using only color and status labels to differentiate your content

Badge indicator

Badge indicators let the user know that something is new or updated. A badge status is displayed over a ghost icon button, usually in the header, to indicate an active notification and is cleared after the user acknowledges the notification. Depending on your use case, the icon button can open a new page or launch a modal, pane, or flyout.

Example of badge indicators in a global header

Examples of badge indicators used for global notifications

Badge with number

A numbered badge is used when a count of new or updated items is available, and it’s important for the user to know the exact number of updates. This badge has a limit of three digits, with the last character using a plus symbol.

The badge with a number can only be used with the large icon button (48px) as global actions in the UI shell header.

Four icons with badges that included numbers ranging from one to three digits. The last badge has a plus.

Badges with numbers ranging from one to three digits

Badge without number

A badge without a number (or dot badge) is used when a new notification is available, but the exact number of notifications is either unknown or irrelevant to the user. This dot badge is more subtle than the numbered badge but still The badge without a number is commonly seen in toolbars’ icon buttons.

The badge without number is commonly seen in toolbars’ icon buttons.

Differential indicator

Differential indicators consist of a symbol, an optional color, and a descriptive label to help users track changes or movements in information. They are especially useful for monitoring differences in large sets of statistics, where more complex indicators might be too distracting. Common examples include color-coded stock symbols in investment accounts that reflect significant price changes. Designers also use differential indicators to highlight deltas in data visualizations.

While typographic indicators can work with just a plus or minus sign, they are most often paired with arrows or caret icons in our system for better clarity.

Caret and arrow icons

Color

Differential indicators are either displaying a positive or a negative value. Color is optional in these situations as long as the value has either a ”+” or ”-” in front of it, a chevron icon, or an arrow icon. Unless the data involves temperature, positive values are represented by the green spectrum and negative values are represented by the red spectrum.

Examples of differential indicators

Differential indicators are most often seen in dashboards.

Accessibility

Elements

Relying only on color is insufficient

Relying solely on color to convey status is insufficient, especially for users with color vision deficiencies (refer to Use of Color). While color can be useful, it must be paired with text or other visual cues. To meet accessibility standards and to pass non-text contrast, ensure that there’s at least a 3:1 contrast between colors used for status indicators, as well as between the indicator and the page background. If the contrast is sufficient, even in grayscale, users should still be able to differentiate statuses without relying solely on color.

As a result, status indicators should rely on at least two elements: color, shape, or symbol. When the icon itself meets accessibility standards, pairing it with text helps users better understand and scan the content.

Using icons alone is acceptable

We are committed to providing status indicators that include both the icon and a label for clarity. While icons alone can be effective if they meet non-text contrast requirements (3:1 contrast), pairing each icon with a label ensures that all users, including those with visual impairments, can understand the status at a glance.

Examples of sufficient status indicators

Example shows sufficient status indicators

Outlines

Our current icon indicators are static and used either inline or alongside other components. Since they are not interactive and the symbols have sufficient contrast against their shape colors, outlines are not necessary.

However, shape indicators rely solely on shapes and colors, which might not provide enough accessibility for screen readers and individuals with low color vision. Therefore, using outlines and pairing text with shape indicators is essential to enhance their accessibility, especially with lighter status colors such as orange and yellow in Carbon light themes.

Outlines in icon and shape indicators

Example shows the icon indicators do not need outlines, while icon indicators do due to the lack of symbols

References

Feedback

Help us improve this pattern by providing feedback, asking questions, and leaving any other comments on GitHub.