Progress

Feedback

Progress indicator with determinate/indeterminate modes, labels, and variant system including gradients

Progress

Display linear progress indicators for determinate and indeterminate states, with variants, sizes, shapes, stripes, glow and custom labeling.

Basic progress

Use the value prop (0–100) for determinate progress. A value of undefined or the indeterminate prop can be used for loading states.

Default (0%)

25% complete

50% complete

75% complete

Complete (100%)

Sizes

Use size to control bar thickness:xs, sm, md, lg, xl.

Extra small (xs)

Small (sm)

Medium (md)

Large (lg)

Extra large (xl)

Variants

Choose semantic styles using variant, including default, primary, secondary, accent, success, warning, error, info, gradient, striped and glass.

Default

Primary

Secondary

Accent

Success

Warning

Error

Info

Gradient

Striped

Glass

Shapes

Use shape to tweak radius:rounded (default), pill, square.

Rounded (default)

Pill

Square

Labels

Show numeric values or custom labels with showValue, label and labelPosition (inside, outside, top).

Inside label

55%

Outside label

55%

Top label

55%

Custom label

1 of 3 tasks completed

Striped patterns

Enable striped for patterned bars and stripedAnimated for animated stripes.

Static stripes

Animated stripes

Gradient + animated stripes

Glow

Add subtle focus with glow, especially for primary or critical indicators.

Primary with glow

Success with glow

Gradient with glow

Indeterminate loading

Use indeterminate for unknown or streaming progress states.

Primary loading

Gradient loading

Success loading with stripes

Custom colors

Override colors with color and trackColor for brand-specific progress indicators.

Custom purple

Custom orange

Custom track color

Real-world examples

Combine progress with labels and cards for uploads, downloads, skill bars, system resources and project tracking.

Uploads, skills & status

Uploading document.pdf

0%

0.0 MB / 250 MB

Downloading video.mp4

0%

0 MB / 1500 MB

Skill levels

React90%
TypeScript85%
CSS95%

System resources

CPU usage42%
Memory68%
Disk space89%

Project progress

Design phase – complete
Development – in progress
Testing – started
Deployment – not started

Usage Guidelines

When to Use

  • File uploads
  • Multi-step processes
  • Loading states

Accessibility

  • progressbar role with value
  • aria-valuemin/max/now announced

Performance

  • CSS animations
  • RAF-based updates for smooth motion

Common Mistakes

  • Not updating value smoothly
  • Indeterminate for determinate operations

Frequently Asked Questions

Yes, Progress supports determinate (percentage) and indeterminate (loading) modes.
Yes, Progress can display percentage or custom labels.

View on GitHub

See the full source code on GitHub