Back to compare picker

Step progress vs Step navigation / step indicator vs Progress bar vs Meter

Choose step progress when the main question is which workflow stages are complete, current, blocked, skipped, failed, or waiting after validation or system checks.

Decision dimensions

Dimension Step progressStep navigation / step indicatorProgress barMeter
UI or UX UI + UX - Workflow-stage status indicatorUI + UX - Linear multistep task progress indicatorUI + UX - Measurable system-operation progress indicatorUI + UX - Read-only scalar value gauge within a known range
UI guidance Show a compact ordered status readout for named stages with distinct completed, current, pending, blocked, skipped, waiting, and failed treatments that include text or icon cues beyond color.Show a compact ordered list of named steps near the task heading, with visually distinct completed, current, upcoming, optional, and error states.Show a labeled bar with a track, filled value, and nearby helper text that reports the measurable unit such as percent, bytes, rows, files, records, or stages.Show the measured object, current value, unit, minimum and maximum context, and threshold bands close to the gauge so users can interpret the reading without guessing.
UX guidance Use step progress when users need to monitor how a workflow is advancing across named stages and which proof event changed each stage, especially when some stages depend on validation, review, upload, or approval.Use step navigation to reduce uncertainty in long linear tasks by showing where users are, what is done, and what remains.Use a progress bar when the system can honestly report movement toward a known finish and users need to decide whether to wait, cancel, retry, continue elsewhere, or return later.Use a meter when users need to judge the current level of a bounded resource, score, capacity, or risk, not when they are completing a task or choosing a value.
Good UI An onboarding status strip shows Profile completed, Documents current, Compliance waiting, Review blocked, and Finish locked with text labels for each state.A five-step application shows Eligibility complete, Contact details current, Documents upcoming, Review upcoming, and Submit upcoming, with the current step emphasized and a matching page heading.A document upload card says Uploading evidence.zip, shows 64%, 32 of 50 MB, a Cancel action, and keeps the rest of the form usable.An account storage card says 86 GB of 100 GB used, marks 70 GB as warning and 90 GB as critical, and labels the current state Critical.
Bad UI All visited steps turn green even though required documents failed server validation.A two-page form adds a large stepper that consumes space without explaining meaningful progress.A blue bar fills across the top of the page with no label, no percent, and no affected object.A red-to-green bar says 89% with no unit, minimum, maximum, or explanation of whether high is good.
Good UX After the user uploads a document, Documents changes to Waiting for review instead of Complete until the file scan and reviewer check pass.After a user enters valid contact details and continues, Contact details becomes complete and Documents becomes current.A user uploads evidence.zip, sees progress move from 12% to 64%, cancels before commit, retries after a network error, and gets a completed receipt only after server processing succeeds.A user sees storage at 86 of 100 GB, understands the account is in the critical band, opens Manage storage, and deletes old exports before uploads are blocked.
Bad UX The step progress says Review ready while the address step contains unsaved edits that would change shipping tax.Clicking Review skips Documents, clears the contact form, and then blocks final submission without explaining the skipped prerequisite.A fake progress bar inches to 99% for minutes with no elapsed time, cancel, retry, or background option.A user watches a meter animate during upload and waits for it to reach full even though it represents remaining quota, not upload progress.
Best fit A workflow has several named stages and users need to understand current, completed, pending, blocked, failed, waiting, or skipped status.A linear form, application, checkout, or setup flow has three or more meaningful steps.A system operation has a measurable total or bounded progress value.A current value exists inside a meaningful known range.
Avoid when The flow has only one or two simple screens and progress status adds no decision value.The journey has only one or two screens.Progress cannot be measured or would be guessed.The value has no meaningful maximum or minimum.
Required state Not started or pending stage.Default state with completed, current, and upcoming steps.Idle state before the operation starts.Normal state inside the acceptable band.
Accessibility burden Expose the current stage with aria-current="step" or equivalent platform semantics and mark only one step current.Use aria-current on the current labeled step and include hidden or visible status text for completed, current, upcoming, optional, and error states.Provide an accessible name that identifies the operation and affected object.Prefer the native meter element where possible because it carries the correct read-only meter semantics.
Common misuse Treating visited pages as completed stages.Using a step indicator as breadcrumbs, tabs, side navigation, or pagination.Fabricating progress values just to make users feel movement.Using a meter to show task progress such as upload completion.

Step progress

UI or UX
UI + UX - Workflow-stage status indicator
UI guidance
Show a compact ordered status readout for named stages with distinct completed, current, pending, blocked, skipped, waiting, and failed treatments that include text or icon cues beyond color.
UX guidance
Use step progress when users need to monitor how a workflow is advancing across named stages and which proof event changed each stage, especially when some stages depend on validation, review, upload, or approval.
Good UI
An onboarding status strip shows Profile completed, Documents current, Compliance waiting, Review blocked, and Finish locked with text labels for each state.
Bad UI
All visited steps turn green even though required documents failed server validation.
Good UX
After the user uploads a document, Documents changes to Waiting for review instead of Complete until the file scan and reviewer check pass.
Bad UX
The step progress says Review ready while the address step contains unsaved edits that would change shipping tax.
Best fit
A workflow has several named stages and users need to understand current, completed, pending, blocked, failed, waiting, or skipped status.
Avoid when
The flow has only one or two simple screens and progress status adds no decision value.
Required state
Not started or pending stage.
Accessibility burden
Expose the current stage with aria-current="step" or equivalent platform semantics and mark only one step current.
Common misuse
Treating visited pages as completed stages.

Step navigation / step indicator

UI or UX
UI + UX - Linear multistep task progress indicator
UI guidance
Show a compact ordered list of named steps near the task heading, with visually distinct completed, current, upcoming, optional, and error states.
UX guidance
Use step navigation to reduce uncertainty in long linear tasks by showing where users are, what is done, and what remains.
Good UI
A five-step application shows Eligibility complete, Contact details current, Documents upcoming, Review upcoming, and Submit upcoming, with the current step emphasized and a matching page heading.
Bad UI
A two-page form adds a large stepper that consumes space without explaining meaningful progress.
Good UX
After a user enters valid contact details and continues, Contact details becomes complete and Documents becomes current.
Bad UX
Clicking Review skips Documents, clears the contact form, and then blocks final submission without explaining the skipped prerequisite.
Best fit
A linear form, application, checkout, or setup flow has three or more meaningful steps.
Avoid when
The journey has only one or two screens.
Required state
Default state with completed, current, and upcoming steps.
Accessibility burden
Use aria-current on the current labeled step and include hidden or visible status text for completed, current, upcoming, optional, and error states.
Common misuse
Using a step indicator as breadcrumbs, tabs, side navigation, or pagination.

Progress bar

UI or UX
UI + UX - Measurable system-operation progress indicator
UI guidance
Show a labeled bar with a track, filled value, and nearby helper text that reports the measurable unit such as percent, bytes, rows, files, records, or stages.
UX guidance
Use a progress bar when the system can honestly report movement toward a known finish and users need to decide whether to wait, cancel, retry, continue elsewhere, or return later.
Good UI
A document upload card says Uploading evidence.zip, shows 64%, 32 of 50 MB, a Cancel action, and keeps the rest of the form usable.
Bad UI
A blue bar fills across the top of the page with no label, no percent, and no affected object.
Good UX
A user uploads evidence.zip, sees progress move from 12% to 64%, cancels before commit, retries after a network error, and gets a completed receipt only after server processing succeeds.
Bad UX
A fake progress bar inches to 99% for minutes with no elapsed time, cancel, retry, or background option.
Best fit
A system operation has a measurable total or bounded progress value.
Avoid when
Progress cannot be measured or would be guessed.
Required state
Idle state before the operation starts.
Accessibility burden
Provide an accessible name that identifies the operation and affected object.
Common misuse
Fabricating progress values just to make users feel movement.

Meter

UI or UX
UI + UX - Read-only scalar value gauge within a known range
UI guidance
Show the measured object, current value, unit, minimum and maximum context, and threshold bands close to the gauge so users can interpret the reading without guessing.
UX guidance
Use a meter when users need to judge the current level of a bounded resource, score, capacity, or risk, not when they are completing a task or choosing a value.
Good UI
An account storage card says 86 GB of 100 GB used, marks 70 GB as warning and 90 GB as critical, and labels the current state Critical.
Bad UI
A red-to-green bar says 89% with no unit, minimum, maximum, or explanation of whether high is good.
Good UX
A user sees storage at 86 of 100 GB, understands the account is in the critical band, opens Manage storage, and deletes old exports before uploads are blocked.
Bad UX
A user watches a meter animate during upload and waits for it to reach full even though it represents remaining quota, not upload progress.
Best fit
A current value exists inside a meaningful known range.
Avoid when
The value has no meaningful maximum or minimum.
Required state
Normal state inside the acceptable band.
Accessibility burden
Prefer the native meter element where possible because it carries the correct read-only meter semantics.
Common misuse
Using a meter to show task progress such as upload completion.
Decision rules
  • Choose step progress when the main question is which workflow stages are complete, current, blocked, skipped, failed, or waiting after validation or system checks.
  • Choose step navigation when the step indicator also represents the user's page position and supports moving through a linear multistep form or task route.
  • Choose progress bar when the system can report a numeric value for upload, download, import, validation, export, or processing completion.
  • Choose meter when the value is a current read-only measurement inside a meaningful known range, such as storage usage, battery, risk, or quota.
  • Do not mark a workflow stage complete because the user visited it; completion needs saved answers, accepted documents, passed checks, or another authoritative proof event.
  • Use blocked, cannot start, skipped, waiting, failed, and retry labels when a stage is not simply pending, and explain what event will change that state.
  • Keep step progress read-only unless the product intentionally combines it with step navigation; if users can activate segments, the availability and focus behavior must match the navigation contract.
  • Do not use a percent bar for workflow stages unless the unit is actually numeric system work; five named stages are not the same as 60 percent complete.
Inspect live examples
Failure modes
  • A checkout says Payment is complete because the user opened the page, but the card authorization failed.
  • A step strip shows five green segments while the current route, heading, and saved state still belong to the second step.
  • A dynamic dependent review step is counted in the total before the user triggers it, so later progress appears to move backward.
  • A progress bar is used for application steps, hiding which stage is blocked and what validation is needed.
  • A step progress display is styled as clickable navigation even though future stages cannot be opened.
  • A failed background check appears only as a red segment with no text, retry, or affected-step explanation.