Skip to content

Stepper usage guidelines

Steppers provide users with a visual guide as they work through multi-step processes and workflows.

  • To show progress through a linear multi-step workflow.
  • To break down complex tasks and workflows into manageable, sequential steps.
  • To show users a resource’s status or progress in a process
  • For workflows that don’t follow a specific order. Consider using tabs or other patterns instead.
  • For app navigation outside of linear workflows. Consider using tabs, a sidebar, or other navigation solutions for this.
  1. Step 1
    This is the first step
  2. Step 2
    This is the current step
  3. Step 3
    This is the next step
  1. Step 1
    This is the first step
  2. Step 2
    This is the current step
  3. Step 3
    This is the next step
OrientationUse cases
HorizontalHorizontal steppers are used when there is a small number of fixed steps. To keep the width of the stepper manageable, horizontal steppers shouldn’t have more than 6 steps. If a page is limited on vertical space, use a horizontal stepper.
VerticalVertical steppers are best used when there is a large number of steps or when the number of steps is variable. If a page is limited on horizontal space, use a horizontal stepper.
  1. Complete
  2. Error
  3. Warning
  4. In progress
  5. Incomplete
StatusUse cases
IncompleteIndicates a step that has not yet been started by the user.
In progressThis step has been started but not completed by a user.
CompleteConfirms that this step has been successfully finished.
WarningIndicates potential issues or non-critical issues within a step that a user may need to address. Warning should not be used for any errors that actively block user progress.
ErrorIndicates a critical error or invalid input within a step that must be resolved before a user can continue.
  • Use concise labels that make it clear what the user will find at that step. Labels shouldn’t be more than 1 or 2 words.
  • The description text should be short and provide supplemental information that’s necessary for users to know before they get to a step. If it can instead be explained within the step, don’t put it in the description.
  • Legend titles can be used with steppers to provide users more context for the stepper workflow itself. Legends should be concise and easy to understand.

Steppers should always be used for workflows that are primarily linear. If a user is going to regularly be moving between steps or there is not a clear linear flow, stepper is not the right component to use. However, the default stepper behavior does allow users to jump back to steps they have already completed if they want to make changes. The following behavior is built into the stepper component and should not be changed to accommodate special use cases.

A step’s status indicates the current state of that step to the user. These states persist even if a user goes back to a previous step. The track bar and the label styling are used to indicate the current active step the user is on.

Cimpress UI does not currently support nested steps within the stepper. If you have a use case where you believe a nested stepper is the best solution, please reach out to the Cimpress UI team to let us know.