ProgressBar

Shows determinate or indeterminate progress of a task

Category: feedback · WCAG 2.2-AA · progress, loading, status, feedback

Variants

Sizes

States

Props

PropTypeDefaultDescription
valuenumberCurrent value from 0 to max; omit for an indeterminate bar
maxnumber100Maximum allowed value.
labelstringVisible label above the track, wired via aria-labelledby
helperTextstringSupplementary text shown with the progress bar.
size'sm' | 'md'mdVisual size of the component (e.g. 'sm', 'md', 'lg').
status'active' | 'success' | 'error'activesuccess/error tint the fill and show a glyph next to the label

Design tokens

When to use

When not to use

How to build an accessible ProgressBar in React →

Examples

Determinate

<ProgressBar value={60} label="Uploading" />

Indeterminate

<ProgressBar label="Processing" />

Success

<ProgressBar value={100} status="success" label="Upload complete" />

Related components

← Back to docs