# Progress indicators **This documentation is fully rendered on the [Material Web catalog](https://material-web.dev/components/progress/).** [Progress indicators](https://m3.material.io/components/progress-indicators) inform users about the status of ongoing processes, such as loading an app or submitting a form. There are two types of progress indicators: linear and circular. Circular and linear progress indicators showing indetermine and determinate examples * [Design article](https://m3.material.io/components/progress-indicators) * [API Documentation](#api) * [Source code](https://github.com/material-components/material-web/tree/main/progress) ## Types 1. [Circular progress](#circular-progress) 1. [Linear progress](#linear-progress) ## Usage Progress indicators may be determinate to show progress, or indeterminate for an unspecified amount of progress. ```html ``` ### Four colors Indeterminate progress indicators may cycle between four colors (primary, primary container, tertiary, and tertiary container by default). ```html ``` ## Accessibility Add an [`aria-label`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label) attribute to progress indicators to give them a descriptive name. ```html ``` ## Circular progress Circular progress indicators display progress by animating along an invisible circular track in a clockwise direction. ```html ``` ## Linear progress Linear progress indicators display progress by animating along the length of a fixed, visible track. ```html ``` ### Buffer Linear progress indicators may show a buffer to communicate both determinate and indeterminate progress. The progress bar and track represent known progress while the buffer dots represent unknown progress. ```html ``` ## Theming Progress indicators supports [Material theming](../theming/README.md) and can be customized in terms of color. ### Circular progress tokens Token | Default value ----------------------------------------------- | ------------------------ `--md-circular-progress-active-indicator-color` | `--md-sys-color-primary` `--md-circular-progress-size` | `48px` `--md-circular-progress-active-indicator-width` | `8.3333` (%) > Note: the active indicator width must be specified as a unit-less percentage > of the size. * [All tokens](https://github.com/material-components/material-web/blob/main/tokens/_md-comp-circular-progress.scss) ### Circular progress example ![Image of a circular progress indicator with a different theme applied](images/progress/theming-circular.webp "Circular progress indicator theming example.") ```html ``` ### Linear progress tokens Token | Default value ---------------------------------------------- | ------------- `--md-linear-progress-track-color` | `--md-sys-color-surface-container-highest` `--md-linear-progress-track-height` | `4px` `--md-linear-progress-track-shape` | `--md-sys-shape-corner-none` `--md-linear-progress-active-indicator-color` | `--md-sys-color-primary` `--md-linear-progress-active-indicator-height` | `4px` * [All tokens](https://github.com/material-components/material-web/blob/main/tokens/_md-comp-linear-progress.scss) ### Linear progress example ![Image of a linear progress indicator with a different theme applied](images/progress/theming-linear.webp "Linear progress theming example.") ```html ``` ## API ### MdLinearProgress <md-linear-progress> #### Properties | Property | Attribute | Type | Default | Description | | --- | --- | --- | --- | --- | | `buffer` | `buffer` | `number` | `0` | Buffer amount to display, a fraction between 0 and `max`. If the value is 0 or negative, the buffer is not displayed. | | `value` | `value` | `number` | `0` | Progress to display, a fraction between 0 and `max`. | | `max` | `max` | `number` | `1` | Maximum progress to display, defaults to 1. | | `indeterminate` | `indeterminate` | `boolean` | `false` | Whether or not to display indeterminate progress, which gives no indication to how long an activity will take. | | `fourColor` | `four-color` | `boolean` | `false` | Whether or not to render indeterminate mode using 4 colors instead of one. | ### MdCircularProgress <md-circular-progress> #### Properties | Property | Attribute | Type | Default | Description | | --- | --- | --- | --- | --- | | `value` | `value` | `number` | `0` | Progress to display, a fraction between 0 and `max`. | | `max` | `max` | `number` | `1` | Maximum progress to display, defaults to 1. | | `indeterminate` | `indeterminate` | `boolean` | `false` | Whether or not to display indeterminate progress, which gives no indication to how long an activity will take. | | `fourColor` | `four-color` | `boolean` | `false` | Whether or not to render indeterminate mode using 4 colors instead of one. |