Steppers display progress through a sequence of logical and numbered steps. They may also be used for navigation. They’re usually useful when the user has to follow steps to complete a process, like in a wizard.

QStepper API

Loading API...


Loading API...

QStepperNavigation API

This component allows you to place buttons within QStepper or QStep to navigate through the steps. It is up to you to add whatever buttons you require.


To use global navigation, you must add it to the QStepper ‘navigation’ slot.

Loading API...



If the QStep content also has images and you want to use swipe actions to navigate, you might want to add draggable="false" to them, otherwise the native browser behavior might interfere in a negative way.

Keep Alive

  • Please take notice of the Boolean keep-alive prop for QStepper, if you need this behavior. Do NOT use Vue’s native <keep-alive> component over QStep.
  • Should you need the keep-alive-include or keep-alive-exclude props then the QStep names must be valid Vue component names (no spaces allowed, don’t start with a number etc).





Header navigation

Non-linear header navigation

Linear header navigation

Header options

Signaling step error

Alternative labels


You can also connect contracted prop to $q.screen to create a responsive behavior, like :contracted="$". More info: Quasar Screen Plugin.



Play with coloring using the *-icon and *-color props (on QStepper or override on specific QStep).


You can also use prefix prop (max 2 characters) instead of an icon for each step’s header. This will be displayed if the step is not currently being edited and it isn’t marked with error or as “done”.

Step prefix


You can use the header-class prop to apply any CSS class(es) to the header. In the example below, we are applying bolded text:

Header Class

Message slot

Message slot with fixed height steps