Stepper UI Design
A stepper breaks a long task into clear stages and shows progress. It reduces drop-off in checkouts, onboarding and setup flows by making the end feel close.
By Mohamed Farhan · Updated Oct 19, 2026
- 1Details
- 2Payment
- 3Review
Inside the example
The live example above is plain HTML with Tailwind utility classes, so you can paste it into any Tailwind project. It uses type sizes text-sm (14px), text-xs (12px) and spacing gap-3 (12px), gap-2 (8px), constrained by max-w-lg and w-6. Everything sits on a 4px grid, which keeps rhythm consistent when you adapt it.
Colors use Tailwind's neutral stone scale so the pattern stays brand-agnostic. Swap stone-900 for your primary color on the main action, keep body text dark and check contrast after any change.
Anatomy
- 1.Steps
- Three to five named stages.
- 2.States
- Complete, current and upcoming.
- 3.Connector
- Shows the path between steps.
- 4.Navigation
- Back and Continue buttons below the content.
Common variations
- Horizontal stepper across the top of a form, best for three to five steps on desktop.
- Vertical stepper with steps stacked down the page, useful for longer flows and mobile.
- Compact progress text, such as 'Step 2 of 4', for small screens.
- Progress bar, for linear flows where step names are less important.
States to design
- Upcoming: muted, not clickable.
- Current: emphasized and marked with aria-current="step".
- Completed: checkmark or filled indicator, clickable to edit.
- Error: a step with problems marked with an icon and message.
A walkthrough
A customer starts checkout and sees three steps across the top: Details, Payment and Review. After entering her address, the Details step shows a checkmark and Payment becomes current. She realizes she used her old postcode, clicks Details, fixes it and returns to Payment without losing the card details she had started typing.
On the Review step, everything is summarized with edit links next to each section, and the button reads 'Place order' rather than 'Next', making it clear this is the final action. On her phone, the stepper becomes a compact header that says 'Step 2 of 3: Payment', and the Back and Continue buttons sit within thumb reach at the bottom.
Two days later she abandons a long insurance application halfway through. When she returns, the stepper opens on the step she left, with completed steps marked and her answers saved. A small error icon on step two reminds her that one field still needs attention, and clicking it takes her straight there.
How different products use it
Checkout flows use three or four steps: details, shipping, payment and review.
Onboarding uses steps to collect setup information, often with the option to skip non-essential steps.
Applications and forms, such as loans or insurance, use longer vertical steppers with saved progress.
Visual design guidelines
Step indicators are typically 24 to 32px circles or numbers with short labels underneath or beside them. Connect steps with a line or bar that fills as users progress. Use one color for completed and current steps and a muted color for upcoming ones, and keep labels to one or two words.
Best practices
Do
- Name steps by what the user does: 'Details', 'Payment', 'Review'.
- Let users go back without losing data.
- Show a final review step before anything irreversible.
- Collapse to 'Step 2 of 4' on mobile.
Don't
- Do not use more than about five steps.
- Do not let users skip required steps by clicking ahead.
- Do not reset progress on errors.
On mobile
On mobile, horizontal steppers with labels rarely fit. Switch to a compact header that shows the current step name and progress, and keep Back and Continue buttons at the bottom of the screen within easy reach.
Common mistakes
- Too many steps, which makes the flow feel endless.
- Losing data when going back.
- No review step before an irreversible action.
- Steps that do not match the content, confusing users about where they are.
Edge cases to plan for
- Conditional steps that appear based on earlier answers should update the total count clearly.
- Users leaving mid-flow should be able to resume later.
- Validation errors on previous steps should be shown when the user returns to them.
- Very small screens need a compact 'Step 2 of 4' header instead of the full stepper.
Accessibility checklist
- Use an ordered list for steps.
- Mark the current step with aria-current="step".
- Announce step changes and move focus to the new step heading.
Implementation notes
Use an ordered list for the steps, mark the current step with aria-current="step", and move focus to the step heading when the step changes. Save progress so users can return later, especially for long applications.
In your design system
In a design system, the stepper is a component that receives an ordered list of steps with their status and renders horizontal, vertical or compact layouts. Pair it with a step container that manages focus and validation, and with standard Back and Continue button placements so every multi-step flow behaves the same way.
How to measure whether it works
Track drop-off per step. A large drop at one step points to a confusing or demanding question; consider simplifying, splitting or moving it later in the flow.
Pre-launch checklist
Microcopy you can use
A step-by-step design process
- Group fields into steps of similar effort, ideally three to five.
- Name each step by what users provide.
- Design all step states: upcoming, current, complete and error.
- Add a review step before any irreversible action.
- Design the mobile header with compact progress.
- Save progress so users can resume.
Usability test tasks
Before shipping, run a short usability test with five or so people from your audience. Give them tasks rather than instructions and watch where they hesitate:
- Complete the first two steps and go back to edit step one.
- Find out how many steps remain.
- Fix an error on a previous step.
- Leave and resume the flow later.
Key terms
- Linear flow: A sequence where steps must be completed in order.
- aria-current="step": Marks the current step for assistive technology.
- Review step: A final summary before submitting.
- Progressive disclosure: Showing information only when it is needed.
Writing the copy
Name steps by what the user does or provides: Details, Payment, Review. Buttons should describe the next step: 'Continue to payment', 'Review order', 'Place order'. On the review step, make it clear that nothing happens until the final button is pressed.
Prompts to generate variations
If you use an AI UI generator such as Inspo AI, these prompts are a good starting point for exploring variations of this pattern:
- Design a three-step checkout stepper with Details, Payment and Review, including completed and error states.
- Create a vertical onboarding stepper with optional steps and saved progress.
- Design a compact mobile stepper header showing 'Step 2 of 4'.
Related patterns
Steppers differ from tabs, which allow free switching. They often lead into a checkout page and should use the same error message patterns as your forms.
Generate this pattern for your product
Inspo AI designs the full pattern with every state, grounded in how real products solve it, and exports React + Tailwind.
Sources and further reading
- WAI-ARIA Authoring Practices Guide · Accessible keyboard and screen reader patterns for UI components.
- WCAG 2.1: Non-text Contrast · Contrast requirements for buttons, borders and icons.
- WCAG 2.1: Use of Color · Why color should never be the only way information is shown.
- Nielsen Norman Group articles · Usability research on interface patterns.
More UI patterns
Questions people ask
How many steps should a stepper have?
Three to five. More steps make the task feel long; group fields to reduce the count.
Should users be able to click on previous steps?
Yes, completed steps should be clickable so users can go back and edit.
Stepper vs progress bar?
Use a stepper when stages have names users care about; a progress bar is fine for simple linear progress.
Should completed steps be editable?
Yes. Let users click a completed step to edit it, then return them to where they were.
Should a stepper show step numbers?
Numbers help users understand how far they have to go. Pair them with short names.

↘ Building Inspo AI | AI-Powered Design Research & Builder Platform | Design Engineer.