Version 7.0.1

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.

Example of an indeterminate progress circle in action, just spinning and spinning.


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.

Two key examples of progress circles, showing value, min value, and max value. First example, file upload. Value 15, min value 0, max value 18. Second example, filter processing. Value 0.92, min value 0, max value 1.

Value, min value, max value#

The value is the progress of a system operation (e.g., downloading, uploading, processing) within the progress circle’s range, from the min value to max value.

The min and max values can also be customized appropriately for whatever the progress circle is showing. By default, the min value starts at 0 and the max value is set to 100.

These values are not applicable when a progress circle is indeterminate.

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).

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
number (from min to max)
Not applicable when indeterminate.
min value
Not applicable when indeterminate.
max value
Not applicable when indeterminate.
small / medium / large
is indeterminate
yes / no

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.


Dec 15, 20227.0.1
  • Migrated to latest token system
Apr 06, 20227.0.0
  • Updated all colors to 6.0.0
Aug 23, 20216.1.0
  • Added min value and max value options
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).

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).

Accessible use of color

Color is not used as the only visual means of conveying information (WCAG 2.0 1.4.1).


Accessible contrast for text

Text has a contrast ratio of at least 4.5:1 for small text and at least 3:1 for large text (WCAG 2.0 1.4.3).

Accessible contrast for UI components

Visual information required to identify components and states (except inactive components) has a contrast ratio of at least 3:1 (WCAG 2.1 1.4.11).


Content design

UI language and information design considerations have been incorporated into component design.

Defined options

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


Defined behaviors

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

Usage guidelines

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


Writing guidelines

Includes content standards or usage guidelines for how to write or format in-product content for the component.

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 available as design tokens.


UI kit

Includes a downloadable XD file that shows multiple options, states, color themes, and platform scales.

Generated UI kit

Includes a downloadable XD file, generated by code using design tokens defined in Spectrum DNA, and shows multiple options, states, color themes, and platform scales.

In Spectrum for Adobe XD plugin

Component is included in the Spectrum for Adobe XD plugin.