Flutter Gems is a curated list of 6700+ useful Dart & Flutter packages that are categorized based on functionality.
Top Flutter Button and Progress Button packages
Last updated: February 25, 2025
A Button is the most commonly used UI component in an app that a user can tap or click to perform an action. Apart from the built-in simple buttons, there are various Flutter packages that can help you add customized buttons which provide:
- Design customizations - 3D buttons, Animated Buttons, etc.
- State changes - Typically these buttons are called Progress Buttons or Loading Buttons and used when the underlying task is actually a workflow and you might want to notify the user of any progress. For example, when a user taps the signin button, there are multiple states that can be reflected on the button like Processing, Sign In Successful, Sign In Failed - Try Again.
The complete list of Flutter packages that can help you add Button, Progress Button, Loading Button, Animated Button, 3D Button or any other type of Button is provided below.

group_button
👍 570 ⬇️ 76K
Dart 3 compatibleMaintenance Status: Average
Flutter custom widget to make a group buttons. Included Radio and CheckBox buttons.
progress_state_button
👍 367 ⬇️ 3.2K
Dart 3 compatibleMaintenance Status: Poor
A customizable progress button widget for Flutter Android, IOS and Web.
neopop
👍 311 ⬇️ 1.8K
Dart 3 compatibleMaintenance Status: Poor
NeoPop is CRED's inbuilt library for using NeoPop components in your app.
animated_icon_button
👍 285 ⬇️ 1.6K
Dart 3 compatibleMaintenance Status: Poor
Flutter package to create custom animated IconButton. Includes all available icons. Based on native IconButton.

flutter_animated_button
👍 277 ⬇️ 2K
Dart 3 compatibleMaintenance Status: Good
A flutter package project which contains a collection of cool and beautiful button animations.
animated_button
👍 150 ⬇️ 407
Dart 3 compatibleMaintenance Status: Poor
A simple andd highly customizable Animated button with 3D like effect.

tap_debouncer
👍 107 ⬇️ 15.1K
Dart 3 compatibleMaintenance Status: Average
Tap debounce simplifying widget. Wrap your button widget in TapDebounce widget and any taps will be disabled while tap callback is in progress.
any_animated_button
👍 101 ⬇️ 250
Dart 3 compatibleMaintenance Status: Poor
Button, which animates between idle, progress and success/error state, indicating that some process is running in the background.

outline_gradient_button
👍 96 ⬇️ 9
Dart 3 compatibleMaintenance Status: Average
OutlineGradientButton package developed to create buttons with gradient outline.
async_button_builder
👍 90 ⬇️ 41
Dart 3 compatibleMaintenance Status: Poor
A builder to wrap around buttons that handles loading, disabled, error and succes states

gradient_coloured_buttons
👍 85 ⬇️ 46
Dart 3 compatibleMaintenance Status: Average
Create visually appealing buttons with customizable gradient colors, dimensions, and border radius to enhance your Flutter UI.

timer_button
👍 79 ⬇️ 1K
Dart 3 compatibleMaintenance Status: Good
Timer Button is a Flutter package that offers a customizable button widget capable of activation after a designated time interval.

pretty_animated_buttons
👍 77 ⬇️ 619
Dart 3 compatibleMaintenance Status: Good
A collection of fancy animated buttons package
animated_button_bar
👍 77 ⬇️ 548
Dart 3 compatibleMaintenance Status: Poor
A highly customizable button bar with animation on selected item.

splash
👍 76 ⬇️ 314
Dart 3 compatibleMaintenance Status: Good
This package contains a few InkSplash and InkRipple alternatives for a better UI

rounded_loading_button_plus
👍 65 ⬇️ 4K
Dart 3 compatibleMaintenance Status: Average
A simple implementation of an animated loading button widget for Flutter
favorite_button
👍 65 ⬇️ 448
Dart 3 compatibleMaintenance Status: Poor
favorite_button is a flutter library that allows you to create heart and star shaped favorite featured buttons with animation effects too.

flutter_swipe_button
👍 58 ⬇️ 7.5K
Dart 3 compatibleMaintenance Status: Good
Avoid accidental clicks or dialogs to prevent them using SwipeButton.

nice_buttons
👍 62 ⬇️ 683
Dart 3 compatibleMaintenance Status: Average
A beautiful, animated, and customizable 3D button for your flutter project with a built-in progress indicator and nice on press animations.
easy_loading_button
👍 55 ⬇️ 1K
Dart 3 compatibleMaintenance Status: Poor
A simple, easy to use, and customizable progress/loading _Material Flutter Button_ that supports variety of button styles (elevated, outlined, text).

pushable_button
👍 50 ⬇️ 173
Dart 3 compatibleMaintenance Status: Good
A 3D pushable button. Ideal for important CTAs in the app.

simple_animated_button
👍 50 ⬇️ 102
Dart 3 compatibleMaintenance Status: Average
This package offers a collection of ready-to-use, efficiently crafted, and elegantly designed animated buttons.

flutter_add_to_cart_button
👍 49 ⬇️ 110
Dart 3 compatibleMaintenance Status: Good
A Flutter package to create an Add To Cart Button. It will be useful for your awesome app.
spring_button
👍 42 ⬇️ 651
Dart 3 compatibleMaintenance Status: Poor
A simple widget for having child widgets that respond to gestures with a spring animation.
flat_3d_button
👍 37 ⬇️ 83
Dart 3 compatibleMaintenance Status: Poor
A simple 3D flat button with click animation, flat 3d button contains 3 methods, a flat 3d button with any widget as it's child, text as it's child and also an icon as it's child

button_animations
👍 37 ⬇️ 2
Dart 3 compatibleMaintenance Status: Average
A package that helps you make highly customizable animated 3d-buttons.

chiclet
👍 34 ⬇️ 278
Dart 3 compatibleMaintenance Status: Good
Chiclet provides you with highly customizable island-style buttons similar to those found in the popular language learning app Duolingo and Figma courses.
flutter_awesome_buttons
👍 34 ⬇️ 93
Dart 3 compatibleMaintenance Status: Poor
Create awesome buttons

loading_icon_button
👍 33 ⬇️ 587
Dart 3 compatibleMaintenance Status: Good
Loading button with icon and text in Flutter. It's working on all flutter platforms. It's a simple way to show a loading button.
multi_state_button
👍 33 ⬇️ 96
Dart 3 compatibleMaintenance Status: Poor
A package which provides multiple states for a button with endless customizability.
async_button
👍 33 ⬇️ 7
Dart 3 compatibleMaintenance Status: Poor
Customized buttons for asyncronous onPressed function. Supports seamless animation between [idle], [loading], [success] and [failure] button states.

flutter_grid_button
👍 27 ⬇️ 3K
Dart 3 compatibleMaintenance Status: Average
Flutter widget that arrange buttons in a grid. It is useful for making a number pad, calculator, and so on.
loading_btn
👍 27 ⬇️ 567
Dart 3 compatibleMaintenance Status: Poor
An animated loading button package that allows you to create beautiful loadding button with lots of customized properties.
flutter_scale_tap
👍 27 ⬇️ 521
Dart 3 compatibleMaintenance Status: Poor
Scale and opacity animated Button for Flutter

gradient_elevated_button
👍 14 ⬇️ 482
Dart 3 compatibleMaintenance Status: Good
Custom Flutter button with gradient background for visually appealing UI.

gradiant_button_animations
👍 14 ⬇️ 27
Dart 3 compatibleMaintenance Status: Average
Animated Gradiant button On Hover
imagebutton
👍 13 ⬇️ 52
Dart 3 compatibleMaintenance Status: Good
ImageButton is a simple plugin that allows you to use your images as buttons with two different states (pressed / unpressed).
fbutton_nullsafety
👍 11 ⬇️ 546
Dart 3 compatibleMaintenance Status: Poor
Let developers just need to grasp only one button component.
platform_adaptive_buttons
👍 1 ⬇️ 22
Dart 3 compatibleMaintenance Status: Good
A Flutter package that provides a custom button that adapts to the platform's design guidelines.
rounded_loading_button
👍 540 ⬇️ 2.4K
Maintenance Status: Poor
A simple implementation of an animated loading button widget for Flutter
argon_buttons_flutter
👍 357 ⬇️ 178
Maintenance Status: Poor
This package would help you to create beautiful Loading and Timer buttons. No need to worry animations and states for each of your buttons.
pimp_my_button
👍 70 ⬇️ 27
Maintenance Status: Poor
A package which adds a much needed feature to all pressable objects.
nice_button
👍 64 ⬇️ 44
Maintenance Status: Poor
A Flutter package for Android and IOS to design nice buttons with no hassle in your app.
fbutton
👍 44 ⬇️ 55
Maintenance Status: Poor
Let developers just need to grasp only one button component.
future_button
👍 39 ⬇️ 32
Maintenance Status: Poor
Customizable Material and Cupertino buttons with progress bars. Useful if you want to show a loading indicator when user presses some action, and show the result afterwards.
loading_transition_button
👍 37 ⬇️ 27
Maintenance Status: Poor
A Customizable transition button for Flutter. Animate you loading proccess with ease.
animated_progress_button
👍 27 ⬇️ 9
Maintenance Status: Poor
Are you looking for a solution to make your button become professional? This package can help you with all animation inspiration from Pinterest.
flutter_progress_button
👍 22 ⬇️ 209
Maintenance Status: Poor
flutter_progress_button is a free and open source (MIT license) Material Flutter Button that supports variety of buttons style demands. It is designed to be easy to use and customizable.
progress_indicator_button
👍 20 ⬇️ 33
Maintenance Status: Poor
A simple button which can transform and show a progress indicator.
awesome_button
👍 18 ⬇️ 32
Maintenance Status: Poor
This is a pre-built button with an awesome look for flutter.
customtogglebuttons
👍 14 ⬇️ 42
Maintenance Status: Poor
A custom ToggleButtons implementation that allows more flexibility than Flutter's inbuilt ToggleButtons.