Version 5.0.0

Progress circle

Progress circles show the progression of a system operation such as downloading, uploading, processing, etc. in a visual way. They can represent determinate or indeterminate progress.


Diagram of the anatomy of a progress circle, showing the track and fill.


Key example showing both determinate and indeterminate progress circles in default variant.

Default variant#

Progress circles are used to visually show the progression of a system operation such as downloading, uploading, processing, etc. By default, progress circles have a blue fill that shows the progress.

Example of an 'over background' progress circle.

Over background variant#

When a progress circle needs to be placed on top of a colored background, use the over background variant. This progress circle uses a static white color regardless of the color theme. Make sure the background offers enough contrast for the progress circle to be legible.

Examples of the size variants of progress circle, showing small, medium, and large sizes.


Progress circles come in 3 sizes: small, medium (default), or large. These are available to fit various contexts. For example, the small progress circle can be used in place of an icon or in tight spaces, while the large one can be used for full-page loading.

Examples of both a determinate and indeterminate progress circle.


A progress circle can be either determinate or indeterminate. By default, progress circles are determinate. Use a determinate progress circle when progress can be calculated against a specific goal (e.g., downloading a file of a known size). Use an indeterminate progress circle when progress is happening but the time or effort to completion can’t be determined (e.g., attempting to reconnect to a server).

Key example of determinate progress circle with the value going from 0 to 1, which shown by the blue fill.


The value shows the progress of a system operation, from 0 to 1, such as downloading, uploading, processing, etc. This is not applicable when a progress bar is indeterminate.

Table of options#

From the design point of view, each component has a number of options. These options and their names are platform agnostic, and each implementation should adapt these to fit into their framework.

PropertyValuesDefault Value
default / over background
small / medium / large
is indeterminate
yes / no
number (0 to 1)
Not applicable when indeterminate.

Usage guidelines#

Use progress circles for loading views#

Medium and large progress circles are optimized for large areas with no space constraints. Use them for loading content into views (e.g., web pages, panels, etc.)

Illustration showing large progress circle in their preferred use in a content view.

Use small progress circle when space is limited#

Small progress circles are well suited when space is limited both vertically and horizontally, such as in buttons, menu items, and input fields.

Illustration of a small progress circle being used inside a call-to-action button.


Example of a determinate and indeterminate progress circle in RTL layout, where the fill continues to progress clockwise.


For RTL (right-to-left) languages, the fill of both the determinate and indeterminate progress circle continues to spin clockwise.


Apr 24, 20206.0.0
  • "Circle loader" has been renamed to "progress circle"
Apr 18, 20195.0.0
  • This component is now individually versioned (individual versions of existing components start at 5.0.0)

Design checklist#


All interactive states

Includes all interactive states that are applicable (hover, down, focus, keyboard focus, disabled).

Multiple options

Includes relevant options (variant, style, size, orientation, optional iconography, decorations, selection, error state, etc.)

All color themes

Works properly across all four color themes (lightest, light, dark, darkest).

All platform scales

Includes a desktop scale (UWP, macOS, web desktop) and a mobile scale (iOS, Android, web mobile).

Defined behaviors

Includes guidelines for layout (wrapping, truncation, overflow), animation, interactions, etc.

Usage guidelines

Includes a list of dos and don’ts that highlight best practices and common mistakes.

Accessible contrast

Follows WCAG 2.0 standards for contrast (AA).

Internationalization guidelines

Works properly across various locales and includes guidelines for bi-directionality (RTL).


Keyboard interactions

Follows WCAG 2.0 standards for keyboard accessibility guidelines and includes a description of the keyboard interactions.

Design tokens

All design attributes (color, typography, layout, animation, etc.) are included in Spectrum DNA.

Generated UI kit

Includes a downloadable XD file that has been generated by code and shows multiple variations, states, color themes, and scales.

In Spectrum for Adobe XD plugin

Component is included in the Spectrum for Adobe XD plugin.