Skip to main content
FeedbackLevel 1

Progress Bar

进度条

WebMobileDesktopDifficulty: Easy

A horizontal bar that fills up little by little as the task completes, so you know roughly how long is left.

01

Live Demo

Actually clickable
0.0 MB / 8 MB uploaded0%
If you know the total, show a percentage. If you don't, don't fake progress — use the indeterminate state.

What you just saw:The thin bar at the top of the screen during an app update, the percentage bar at the bottom while downloading a file, the slim bar under each photo while it uploads.

02

What it actually is

The key question for a progress bar is whether you know the total. If you do, show a percentage; if you do not, show the indeterminate state (a short bar sweeping back and forth). Do not pretend to have progress you cannot measure.

progress barloading barprogress indicatorpercentage barloading progress
03

Anatomy · What it's made of

  1. Track轨道

    4px tall, light gray background

  2. Fill已填充

    Primary color, width = percentage

  3. Label百分比

    Optional, shown right next to it

  4. Indeterminate不确定态

    A short bar sweeping back and forth

04

When to Use

When it fits, and when it doesn't
Progress Bar usage recommendations
SituationUse it?
You know the total amount of work and can give a real percentageYes
The task takes a while (upload, download, install)Yes
People benefit from a quantified "step 3 of 7" sense of progressYes
You have no idea how long it will takeDepends
The action finishes in 0.3 secondsNo

A progress bar that crawls to 99% and stalls is the worst experience there is — if you are stuck at 99%, switch to the indeterminate state or say why.

Do not animate a fake percentage when the real progress is unknown (crawl evenly to 90% and wait). Users can tell they are being lied to.

05

Similar Patterns

Don't mix these up
Full comparisonSpinner vs Progress Bar vs SkeletonData is loading. How should I show it?See the table
06

How to tell AI

Three levels of prompt

Add the component name and specifics

Show a progress bar while uploading: since the total size is known, display the real percentage and "Uploaded 3.2MB / 8MB"; turn it green with a checkmark on completion, and red with a retry option on failure.

07

Don't just say this to AI

Bad → Better

Don't say this to AI

Add a progress bar while loading.

Say this instead

Show a progress bar while loading: when the total is known, display the real percentage plus "Uploaded 3.2MB / 8MB", turn green with a checkmark on completion and red with "Retry" on failure; when the total is unknown, use an indeterminate bar sweeping back and forth instead of fake progress.

08

Share this card

Social-ready

Turn this pattern into a 3:4 or 1:1 knowledge card and export it as PNG right in the browser. No backend needed.