Skip to content

Progress indicators ​

Progress indicators inform users about the status of ongoing processes, such as loading an app. It show the status of a process in real time.

Overview · Specs · Guidelines · Accessibility

Variants ​

2 variant of progress indicators.

  1. Linear progress indicator
  2. Circular progress indicator
VariantM3M3 Expressive
Linear progress indicatorAvailableAvailable
Circular progress indicatorAvailableAvailable

Configurations ​

4 configurations of the linear determinate progress indicator.

  1. Behavior: Determinate and indeterminate
  2. Thickness: Default (4dp) and variable
  3. Shape: Flat and wavy
CategoryConfigurationM3M3 Expressive
BehaviorDeterminate (default), IndeterminateAvailableAvailable
Track thicknessFixed (4dp)AvailableAvailable
Track thicknessConfigurable--Available
ShapeFlat (default)AvailableAvailable
ShapeWavy--Available

Tokens & specs ​

Browse the component elements, attributes, tokens, and their values. View baseline tokens

Design tokens

Token table

Machine-readable relationship table

Progress indicators tokens · 3 token sets · 38 tokens · live token table · DSDB TOKEN_TABLE.6f51f7ab7775a392

  • Default context: Theme: Light · Platform: Android · Audience: 3P · Contrast: Default · iOS dark theme elevation: None · iOS weight setting: Default
  • Not configurable here (group default used): Motion scheme: Standard · Font: Static · Language height: Small
  • Other contexts: Theme: Dark · Contrast: Medium contrast, High contrast. "Other contexts" lists values that differ from the default when only that one context changes.
  • Reference chain: aliases from the token to its source value (token → alias → … → value). "—" means the token holds a literal value.

Progress indicator - Linear · md.comp.progress-indicator.linear · 17 tokens

For linear progress indicators.

GroupTokenTypeReference chainResolved valueOther contexts
Linear - baselinemd.comp.progress-indicator.linear.with-wave.heightLength—10dp—
Linear - baselinemd.comp.progress-indicator.linear.active-indicator.thicknessLength—4dp—
Linear - baselinemd.comp.progress-indicator.linear.track.thicknessLength—4dp—
Linear - baselinemd.comp.progress-indicator.linear.stop-indicator.sizeLength—4dp—
Linear - baselinemd.comp.progress-indicator.linear.track-active-indicator-spaceLengthmd.sys.measurement.space504dp—
Linear - baselinemd.comp.progress-indicator.linear.stop-indicator.trailing-spaceLengthmd.sys.measurement.space00dp—
Linear - baselinemd.comp.progress-indicator.linear.active-indicator.wave.amplitudeLength—3dp—
Linear - baselinemd.comp.progress-indicator.linear.active-indicator.wave.wavelengthLength—40dp—
Linear - baselinemd.comp.progress-indicator.linear.indeterminate.active-indicator.wave.wavelengthLength—20dp—
Linear - baselinemd.comp.progress-indicator.linear.heightLength—4dp—
[Deprecated] Linear - thickmd.comp.progress-indicator.linear.thick.active-indicator.thickness (deprecated)Length—8dp—
[Deprecated] Linear - thickmd.comp.progress-indicator.linear.thick.with-wave.height (deprecated)Length—14dp—
[Deprecated] Linear - thickmd.comp.progress-indicator.linear.thick.track.thickness (deprecated)Length—8dp—
[Deprecated] Linear - thickmd.comp.progress-indicator.linear.thick.stop-indicator.size (deprecated)Length—4dp—
[Deprecated] Linear - thickmd.comp.progress-indicator.linear.thick.track-active-indicator-space (deprecated)Length—4dp—
[Deprecated] Linear - thickmd.comp.progress-indicator.linear.thick.stop-indicator.trailing-space (deprecated)Length—2dp—
[Deprecated] Linear - thickmd.comp.progress-indicator.linear.thick.height (deprecated)Length—8dp—

Progress indicator - Circular · md.comp.progress-indicator.circular · 11 tokens

For circular progress indicators.

GroupTokenTypeReference chainResolved valueOther contexts
Circular - baselinemd.comp.progress-indicator.circular.with-wave.sizeLength—48dp—
Circular - baselinemd.comp.progress-indicator.circular.active-indicator.thicknessLength—4dp—
Circular - baselinemd.comp.progress-indicator.circular.track.thicknessLength—4dp—
Circular - baselinemd.comp.progress-indicator.circular.track-active-indicator-spaceLengthmd.sys.measurement.space504dp—
Circular - baselinemd.comp.progress-indicator.circular.active-indicator.wave.amplitudeLength—1.6dp—
Circular - baselinemd.comp.progress-indicator.circular.active-indicator.wave.wavelengthLength—15dp—
Circular - baselinemd.comp.progress-indicator.circular.sizeLength—40dp—
[Deprecated] Circular - thickmd.comp.progress-indicator.circular.thick.active-indicator.thickness (deprecated)Length—8dp—
[Deprecated] Circular - thickmd.comp.progress-indicator.circular.thick.track.thickness (deprecated)Length—8dp—
[Deprecated] Circular - thickmd.comp.progress-indicator.circular.thick.track-active-indicator-space (deprecated)Length—4dp—
[Deprecated] Circular - thickmd.comp.progress-indicator.circular.thick.size (deprecated)Length—52dp—

Progress Indicator - Common · md.comp.progress-indicator · 10 tokens

Common tokens for circular and linear progress indicators.

GroupTokenTypeReference chainResolved valueOther contexts
Colormd.comp.progress-indicator.track.colorColormd.sys.color.secondary-container → md.ref.palette.secondary90#E8DEF8Dark: #4A4458 via md.ref.palette.secondary30
Medium contrast: #625B71 via md.ref.palette.secondary40
High contrast: #4A4458 via md.ref.palette.secondary30
Colormd.comp.progress-indicator.stop-indicator.colorColormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
Colormd.comp.progress-indicator.active-indicator.colorColormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
Shapemd.comp.progress-indicator.track.shapeShapemd.sys.shape.corner.fullCircular (fully rounded)—
Shapemd.comp.progress-indicator.stop-indicator.shapeShapemd.sys.shape.corner.fullCircular (fully rounded)—
Shapemd.comp.progress-indicator.active-indicator.shapeShapemd.sys.shape.corner.fullCircular (fully rounded)—
[Deprecated] Enabled › [Deprecated] Active Indicatormd.comp.progress-indicator.active-indicator.thickness (deprecated)Length—4dp—
[Deprecated] Enabled › [Deprecated] Trackmd.comp.progress-indicator.track.thickness (deprecated)Length—4dp—
[Deprecated] Enabled › [Deprecated] Stop indicatormd.comp.progress-indicator.stop-indicator.size (deprecated)Length—4dp—
[Deprecated] Enabled › [Deprecated] Spacingmd.comp.progress-indicator.active-indicator-track-space (deprecated)Length—4dp—

Anatomy ​

3 elements of a progress indicator.

  1. Active indicator
  2. Track
  3. Stop indicator

Color ​

2 color roles of a linear progress indicator in light and dark themes: the active indicator and stop indicator are primary and the track is secondary container.

Progress indicator color roles used for light and dark schemes:

  1. Primary
  2. Secondary container

Measurements ​

Wavy indicators use amplitude and wavelength to determine the shape of the wave. The height is the overall container height.

Definitions of wave measurements for height and amplitude.

Amplitude measures from the center of the resting position to the center of the peak

Definitions of wave measurements for wavelength.

Wavelength measures the distance between two adjacent peaks

Linear progress indicator measurements.

Size measurements for linear progress indicators. The thicker variants are provided as sample measurement for makers to adjust the default version based on their use cases.

Circular progress indicator measurements.

Size measurements for circular progress indicators. The thicker variants are provided as sample measurement for makers to adjust the default version based on their use cases.

4dp padding on the left and right of the linear progress indicator.

The linear progress indicator is inset from the edge of the screen by 4dp

Baseline tokens ​

The circular and linear progress indicator had separate token sets. These are no longer recommended.

Design tokens

Token table

Machine-readable relationship table

Progress indicators tokens · 2 token sets · 18 tokens · live token table · DSDB TOKEN_TABLE.6f51f7ab7775a392

  • Default context: Theme: Light · Platform: Android · Audience: 3P · Contrast: Default · iOS dark theme elevation: None · iOS weight setting: Default
  • Not configurable here (group default used): Motion scheme: Standard · Font: Static · Language height: Small
  • Other contexts: Theme: Dark · Contrast: Medium contrast, High contrast. "Other contexts" lists values that differ from the default when only that one context changes.
  • Reference chain: aliases from the token to its source value (token → alias → … → value). "—" means the token holds a literal value.

[Deprecated] Progress indicator - Circular · md.comp.circular-progress-indicator · 8 tokens

This token set is deprecated. Use `md.comp.progress-indicator.circular` instead. Original tokens for the circular progress indicator.

GroupTokenTypeReference chainResolved valueOther contexts
[Deprecated] Enabled › [Deprecated] Active indicatormd.comp.circular-progress-indicator.size (deprecated)Length—48dp—
[Deprecated] Enabled › [Deprecated] Active indicatormd.comp.circular-progress-indicator.active-indicator.width (deprecated)Length—4dp—
[Deprecated] Enabled › [Deprecated] Active indicatormd.comp.circular-progress-indicator.active-indicator.shape (deprecated)Shapemd.sys.shape.corner.noneRounded corners 0dp—
[Deprecated] Enabled › [Deprecated] Active indicatormd.comp.circular-progress-indicator.active-indicator.color (deprecated)Colormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
[Deprecated] Enabled › [Deprecated] Active indicatormd.comp.circular-progress-indicator.four-color.active-indicator.one.color (deprecated)Colormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
[Deprecated] Enabled › [Deprecated] Active indicatormd.comp.circular-progress-indicator.four-color.active-indicator.two.color (deprecated)Colormd.sys.color.primary-container → md.ref.palette.primary90#EADDFFDark: #4F378B via md.ref.palette.primary30
Medium contrast: #6750A4 via md.ref.palette.primary40
High contrast: #4F378B via md.ref.palette.primary30
[Deprecated] Enabled › [Deprecated] Active indicatormd.comp.circular-progress-indicator.four-color.active-indicator.three.color (deprecated)Colormd.sys.color.tertiary → md.ref.palette.tertiary40#7D5260Dark: #EFB8C8 via md.ref.palette.tertiary80
Medium contrast: #633B48 via md.ref.palette.tertiary30
High contrast: #492532 via md.ref.palette.tertiary20
[Deprecated] Enabled › [Deprecated] Active indicatormd.comp.circular-progress-indicator.four-color.active-indicator.four.color (deprecated)Colormd.sys.color.tertiary-container → md.ref.palette.tertiary90#FFD8E4Dark: #633B48 via md.ref.palette.tertiary30
Medium contrast: #7D5260 via md.ref.palette.tertiary40
High contrast: #633B48 via md.ref.palette.tertiary30

[Deprecated] Progress indicator - Linear · md.comp.linear-progress-indicator · 10 tokens

This token set is deprecated. Use `md.comp.progress-indicator.linear` instead. Original tokens for the linear progress indicator.

GroupTokenTypeReference chainResolved valueOther contexts
[Deprecated] Enabled › [Deprecated] Trackmd.comp.linear-progress-indicator.track.height (deprecated)Length—4dp—
[Deprecated] Enabled › [Deprecated] Trackmd.comp.linear-progress-indicator.track.shape (deprecated)Shapemd.sys.shape.corner.noneRounded corners 0dp—
[Deprecated] Enabled › [Deprecated] Trackmd.comp.linear-progress-indicator.track.color (deprecated)Colormd.sys.color.surface-container-highest → md.ref.palette.neutral90#E6E0E9Dark: #36343B via md.ref.palette.neutral22
[Deprecated] Enabled › [Deprecated] Active indicatormd.comp.linear-progress-indicator.active-indicator.height (deprecated)Length—4dp—
[Deprecated] Enabled › [Deprecated] Active indicatormd.comp.linear-progress-indicator.active-indicator.shape (deprecated)Shapemd.sys.shape.corner.noneRounded corners 0dp—
[Deprecated] Enabled › [Deprecated] Active indicatormd.comp.linear-progress-indicator.active-indicator.color (deprecated)Colormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
[Deprecated] Enabled › [Deprecated] Active indicatormd.comp.linear-progress-indicator.four-color.active-indicator.one.color (deprecated)Colormd.sys.color.primary → md.ref.palette.primary40#6750A4Dark: #D0BCFF via md.ref.palette.primary80
Medium contrast: #4F378B via md.ref.palette.primary30
High contrast: #381E72 via md.ref.palette.primary20
[Deprecated] Enabled › [Deprecated] Active indicatormd.comp.linear-progress-indicator.four-color.active-indicator.two.color (deprecated)Colormd.sys.color.primary-container → md.ref.palette.primary90#EADDFFDark: #4F378B via md.ref.palette.primary30
Medium contrast: #6750A4 via md.ref.palette.primary40
High contrast: #4F378B via md.ref.palette.primary30
[Deprecated] Enabled › [Deprecated] Active indicatormd.comp.linear-progress-indicator.four-color.active-indicator.three.color (deprecated)Colormd.sys.color.tertiary → md.ref.palette.tertiary40#7D5260Dark: #EFB8C8 via md.ref.palette.tertiary80
Medium contrast: #633B48 via md.ref.palette.tertiary30
High contrast: #492532 via md.ref.palette.tertiary20
[Deprecated] Enabled › [Deprecated] Active indicatormd.comp.linear-progress-indicator.four-color.active-indicator.four.color (deprecated)Colormd.sys.color.tertiary-container → md.ref.palette.tertiary90#FFD8E4Dark: #633B48 via md.ref.palette.tertiary30
Medium contrast: #7D5260 via md.ref.palette.tertiary40
High contrast: #633B48 via md.ref.palette.tertiary30

Unofficial offline mirror. Content © Google, licensed under CC BY 4.0.