Skip to content
Open-source Flutter package · awesome_stepper 1.0.1

The beautiful Flutter stepper

An animated step progress indicator, sliding pages, form validation per step, a controller and a side-by-side layout on tablets and foldables. Material 3, dark mode, no dependencies.

Features

  • 4 header styles + verticalThe classic progress circle, a progress bar, dots or numbered steps — or a vertical stepper.
  • Step indicator on its ownAwesomeStepIndicator without pages; an easy move from step_progress_indicator.
  • Optional steps & finish screenA Skip button on optional steps and a summary screen after the last one.
  • Validation per stepcanContinue keeps users on an invalid step and marks it red. Sync or async.
  • Controllernext(), back(), jumpTo() and a listenable currentStep.
  • Step statesCompleted, error and locked steps; disabled steps are skipped.
  • Tablets & foldablesFrom 840 px the circle and numbered headers become a side list that follows the fold; bar and dots stay as they are.
  • AccessibleScreen reader announcements, 48 px buttons, RTL, arrow keys, swipe, haptics.

Install

dependencies:
  awesome_stepper: ^1.0.1
AwesomeStepper(
  headerType: AwesomeStepperHeader.numbered,
  onCompleted: placeOrder,
  steps: [
    AwesomeStepperItem(
      label: 'Address',
      content: AddressForm(key: formKey),
      canContinue: () => formKey.currentState!.validate(),
    ),
    const AwesomeStepperItem(label: 'Payment', content: PaymentPage()),
  ],
)

Full docs and options on pub.dev. Keywords: Flutter stepper · vertical stepper · step progress indicator · multi-step form · wizard · onboarding · checkout flow.

Made by Muhammed Şamil Demir

I'm a senior Flutter and iOS developer and the person behind Monsware. I build these packages in the open and use them in production apps. More: all my open-source packages, about me, GitHub.

Need a Flutter or iOS app built, or help with foldables and large screens? I take on a limited number of freelance projects.

Hire the developer behind awesome_stepper