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.


An indicator highlights a page element and informs the user of something that needs the user’s attention. Often, the indicator will denote that there has been a change to a particular item. They are frequently used to signal validation errors or notifications, changes, or updates. They can also be used on their own. Indicators are visual cues intended to attract the user’s attention to a piece of content or UI element that is dynamic in nature.

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

Choosing for context

In the UI landscape, examples of status indicators are everywhere. However this pattern will focus less on the components or patterns in which indicators tend to appear (notifications, inline errors, dashboards, and so on) and more on the urgency of the communication.

For ease of use, status indicators can be classified into levels of severity such as high, medium, and low attention. See more information on choosing between alias icons and outlined versus filled icons in the Status shapes section below.

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.

High attention

These indicators signal that user action is needed immediately—that is, there is an irregularity in the system, something malfunctioned, or a user needs to confirm a potentially destructive action. Some examples include alerts, exceptions, confirmations, and errors.

Description & usage
Indicates a process failure that needs immediate attention
Used for: failed processes, emergencies, urgent alerts
Indicates an error (often inline) that needs immediate attention
Used for: warnings, errors, alerts, failure
Warning alt
Carries the same meaning as ‘Warning’
Indicates unavailability, an incorrect use case (especially in usage guidance), or a run that has been cancelled
Used for: incorrect usage, unavailability, cancellation
Caution major
Orange 40/Orange 60 outline, Orange 40
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
$support-03/Yellow 60 outline, $support-03
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

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.

Description & usage
Purple 60, Purple 50
Indicates a value that is outside of an acceptable range or formatted incorrectly
Used for: experimental work, outliers
Indicates stability or the clearing of one or more reported alarms; implies no issues are present
Used for: success, completion, stability, active states
Normal alt
Carries the same meaning as ‘Normal’ but is more often used in data tables and confined spaces
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
In progress
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
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
Indicates that a job or step (in Carbon’s Progress Indicator) has not yet been started
Used for: upstarted tasks or disabled processes
Gray 60, Gray 50
Indicates a job has started but can not be scheduled due to insufficient resources
Used for: indefinite holds

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. Some examples include tooltip triggers that offer explanatory or added information, and passive notifications.

Description & usage
Gray 60, Gray 50
Indicates that the status of an object is unknown
Used for: unknown, undefined status
Gray 60, Gray 50
Indicates additional support or FAQ content is available
Used for: help, guidance, exceptions
Indicates additional (non-essential) information is available
Used for: additional information, exceptions
Information alt
Carries the same meaning as ‘Information’


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 icons

Icons are visual symbols used to represent ideas, objects, or actions. Ideally, they communicate messages at a glance, afford interactivity, and draw attention to important information. For example, using exclamation points for warnings, checkmarks for success, and question marks for help or unknown.

To standardize the icons that are used most widely in IBM product, we’ve included only the most universally recognized icons. Certain products may have certain modifications or most robust sets.

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

Outline versus filled shapes

We offer two options that can be flexible for usage based on your team’s preference. Keep in mind that filled icons are more visible and tend to carry more weight, therefore they’re often used for high attention statuses. Outlined icons are more delicate and not as readily scannable.

In addition, the more line work an icon has—and the more breaks in those lines—the more difficult it is to use a filled icon. For this reason, some product teams may occasionally mix in an outline icon with a filled icon. This is okay but for the most part, designers should try to be consistent throughout the product or application. At the very least, designers should avoid mixing outlined and filled indicators on the same page.

Alias status icons

In several cases, we offer multiple shape options for one type of status indicator. For example, ‘warning’ ‘help’ and ‘information’ status icons have multiple variants to convey similar or exactly the same information. Often times, users of certain products have grown accustomed to say, a hexagon instead of a circle to convey a critical warning. Or a team perhaps wants to go the extra mile and offer yet another differentiator for accessibility. Although consistency is always the goal, there’s no need to avoid differentiation to accomodate user preferences. Whichever style you choose however, avoid mixing throughout the UI.

If an alias that your product frequently uses has been removed from the set and you can make a case for the importance of including it here, please let us know.

Status 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. We’ve also included 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 60198038
03. Orange 50eb6200
04. Blue 600f62fe
05. Yellow 30f1c21b
06. Purple 608a3ffc
07. Gray 606f6f6f

Extended status palettes

This palette is only for added contrast accessibility when using yellows and oranges. It’s not a part of the IBM brand palette and it’s also not included in the v2 color release (that is, it’s not in ASE, Sketch kit palettes, and so on) because it’s for very selective use in data visualizations and certain status indicators. Do not use this palette in any other manner in your layouts.

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


There are at least four possible ways to implement status indicators:

  • Icon indicators
  • Badge indicators (with and without numbers)
  • Shape indicators
  • Differential indicators
Icon indicatorsUsed 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.Icon indicators are widely used in Notifications, Progress indicators, Data tables, task lists and dashboard widgets.
Badge indicators (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 indicators (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 used in conjuntion with avatars or icons.
Shape indicatorsUseful 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.
Differential indicatorsUseful 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.


Like a button, a status indicator’s text label is the most important element, as it communicates progress. By default, Carbon uses sentence case for all button labels.

Text labels, column labels (or a legend, when