Skip to content

LinearProgress API

API documentation for the React LinearProgress component. Learn about the available props and the CSS API.

Import

import LinearProgress from '@mui/material/LinearProgress';
// or
import { LinearProgress } from '@mui/material';
You can learn about the difference by reading this guide on minimizing bundle size.

ARIA

If the progress bar is describing the loading progress of a particular region of a page, you should use aria-describedby to point to the progress bar, and set the aria-busy attribute to true on that region until it has finished loading.

Component name

The name MuiLinearProgress can be used when providing default props or style overrides in the theme.

Props

Props of the native component are also available.

NameTypeDefaultDescription
classesobject
Override or extend the styles applied to the component. See CSS API below for more details.
color'inherit'
| 'primary'
| 'secondary'
| string
'primary'
The color of the component. It supports those theme colors that make sense for this component.
sxobject
The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.
valuenumber
The value of the progress indicator for the determinate and buffer variants. Value between 0 and 100.
valueBuffernumber
The value for the buffer variant. Value between 0 and 100.
variant'buffer'
| 'determinate'
| 'indeterminate'
| 'query'
'indeterminate'
The variant to use. Use indeterminate or query when there is no progress value.

The ref is forwarded to the root element.

CSS

Rule nameGlobal classDescription
root.MuiLinearProgress-rootStyles applied to the root element.
colorPrimary.MuiLinearProgress-colorPrimaryStyles applied to the root and bar2 element if color="primary"; bar2 if variant="buffer".
colorSecondary.MuiLinearProgress-colorSecondaryStyles applied to the root and bar2 elements if color="secondary"; bar2 if variant="buffer".
determinate.MuiLinearProgress-determinateStyles applied to the root element if variant="determinate".
indeterminate.MuiLinearProgress-indeterminateStyles applied to the root element if variant="indeterminate".
buffer.MuiLinearProgress-bufferStyles applied to the root element if variant="buffer".
query.MuiLinearProgress-queryStyles applied to the root element if variant="query".
dashed.MuiLinearProgress-dashedStyles applied to the additional bar element if variant="buffer".
dashedColorPrimary.MuiLinearProgress-dashedColorPrimaryStyles applied to the additional bar element if variant="buffer" and color="primary".
dashedColorSecondary.MuiLinearProgress-dashedColorSecondaryStyles applied to the additional bar element if variant="buffer" and color="secondary".
bar.MuiLinearProgress-barStyles applied to the layered bar1 and bar2 elements.
barColorPrimary.MuiLinearProgress-barColorPrimaryStyles applied to the bar elements if color="primary"; bar2 if variant not "buffer".
barColorSecondary.MuiLinearProgress-barColorSecondaryStyles applied to the bar elements if color="secondary"; bar2 if variant not "buffer".
bar1Indeterminate.MuiLinearProgress-bar1IndeterminateStyles applied to the bar1 element if variant="indeterminate or query".
bar1Determinate.MuiLinearProgress-bar1DeterminateStyles applied to the bar1 element if variant="determinate".
bar1Buffer.MuiLinearProgress-bar1BufferStyles applied to the bar1 element if variant="buffer".
bar2Indeterminate.MuiLinearProgress-bar2IndeterminateStyles applied to the bar2 element if variant="indeterminate or query".
bar2Buffer.MuiLinearProgress-bar2BufferStyles applied to the bar2 element if variant="buffer".

You can override the style of the component using one of these customization options:

Demos