Flutter Gems is a curated list of 7250+ useful Dart & Flutter packages that are categorized based on functionality.
Top Flutter Routing packages
Last updated: May 18, 2026
Routing and Navigation dictate how users move between different screens in your Flutter app, handling back-stack history, deep linking, and transition animations.
Best Practices for Routing
- Declarative Navigation: Move away from Flutter's imperative
Navigator.push()for complex apps. Use declarative routing packages based on the Router API (Navigator 2.0), such asgo_routerorauto_route. - Deep Linking Ready: A massive benefit of declarative routing is that every screen has a distinct URL path (e.g.,
/product/123). This makes it trivially easy to handle deep links from push notifications or web browsers. - Route Guards: Implement routing guards to intercept navigation. For example, if a user tries to access
/profile, the router should automatically redirect them to/loginif they are not authenticated.
The complete list of Routing, Navigation, and Navigator 2.0 packages for Flutter is provided below.
go_router
👍 5.72K ⬇️ 2.8M
Dart 3 compatibleMaintenance Status: Good
A declarative router for Flutter based on Navigation 2 supporting deep linking, data-driven routes and more
auto_route
👍 3.39K ⬇️ 289.2K
Dart 3 compatibleMaintenance Status: Good
AutoRoute is a declarative routing solution, where everything needed for navigation is automatically generated for you.
beamer
👍 1.41K ⬇️ 56.3K
Dart 3 compatibleMaintenance Status: Average
A routing package built on top of Router and Navigator's pages API, supporting arbitrary nested navigation, guards and more.
fluro
👍 890 ⬇️ 19.5K
Dart 3 compatibleMaintenance Status: Poor
Fluro is a null-safe Flutter routing library that adds flexible routing options like wildcards, named parameters and clear route definitions.
routemaster
👍 706 ⬇️ 6.8K
Dart 3 compatibleMaintenance Status: Good
Easy-to-use Flutter router for web, mobile and desktop. URL-based routing, simple navigation of tabs and nested routes.
flow_builder
👍 441 ⬇️ 44K
Dart 3 compatibleMaintenance Status: Poor
Flutter Flows made easy! A Flutter package which simplifies flows with a flexible, declarative API.
go_router_builder
👍 294 ⬇️ 210.7K
Dart 3 compatibleMaintenance Status: Good
A builder that supports generated strongly-typed route helpers for package:go_router
auto_route_generator
👍 163 ⬇️ 308K
Dart 3 compatibleMaintenance Status: Good
AutoRoute is a declarative routing solution, where everything needed for navigation is automatically generated for you.
swipeable_page_route
👍 316 ⬇️ 5.9K
Dart 3 compatibleMaintenance Status: Good
Swipe to navigate back and admire beautifully morphing widgets
flutter_breadcrumb
👍 127 ⬇️ 192.8K
Dart 3 compatibleMaintenance Status: Poor
Flutter Widget that can easily create Breadcrumb in Flutter.
routefly
👍 206 ⬇️ 249
Dart 3 compatibleMaintenance Status: Average
Folder-based route manager inspired by NextJS and created by the Flutterando community.
qlevar_router
👍 163 ⬇️ 1.5K
Dart 3 compatibleMaintenance Status: Good
A router that helps you to manage your project routes. Create nested routes. navigation without context between your pages.
zenrouter
👍 89 ⬇️ 21.9K
Dart 3 compatibleMaintenance Status: Good
A powerful Flutter router with deep linking, web support, type-safe routing, guards, redirects, and zero boilerplate.
navigation_history_observer
👍 71 ⬇️ 36.3K
Dart 3 compatibleMaintenance Status: Poor
A Flutter NavigatorObserver that stores a collection of pushed routes history, as well as the popped history.
octopus
👍 97 ⬇️ 283
Dart 3 compatibleMaintenance Status: Average
A cross-platform declarative router for Flutter with a focus on state and nested navigation. Made with ❤️ by PlugFox.
shelf_router_generator
👍 71 ⬇️ 28.1K
Dart 3 compatibleMaintenance Status: Good
A package:build-compatible builder for generating request routers for the shelf web-framework based on source annotations.
navigator_resizable
👍 29 ⬇️ 65.6K
Dart 3 compatibleMaintenance Status: Good
A thin wrapper around Navigator that *visually* resizes the child navigator to match the size of the content displayed in the current route.
navbar_router
👍 70 ⬇️ 318
Dart 3 compatibleMaintenance Status: Good
A flutter package to build advanced bottomnavbar with minimal code and hassle
navigation_utils
👍 67 ⬇️ 445
Dart 3 compatibleMaintenance Status: Good
The missing navigation library for Navigator 2. NavigationUtils is the simplest way to add Flutter's Navigator 2 into your applications.
nuvigator
👍 50 ⬇️ 19.1K
Dart 3 compatibleMaintenance Status: Good
A powerful routing abstraction over Flutter navigator, providing some new features and an easy way to define routers.
short_navigation
👍 46 ⬇️ 119
Dart 3 compatibleMaintenance Status: Good
A lightweight Flutter navigation package that allows navigating between routes without requiring BuildContext.
shelf_modular
👍 34 ⬇️ 113
Dart 3 compatibleMaintenance Status: Poor
Smart project structure with dependency injection and route management
go_router_plus
👍 31 ⬇️ 103
Dart 3 compatibleMaintenance Status: Poor
Building blocks screens, access control and refresh notifiers base on Go Router.
katana_router
👍 28 ⬇️ 1.7K
Dart 3 compatibleMaintenance Status: Good
A package to automatically create routing configurations with build_runner to enable type-safe routing.
riverpod_navigation
👍 27 ⬇️ 16
Dart 3 compatibleMaintenance Status: Poor
Managing Flutter navigation with riverpod.
go_provider
👍 25 ⬇️ 329
Dart 3 compatibleMaintenance Status: Good
Easily scope providers to routes with GoProviderRoute and ShellProviderRoute.
route_observer_mixin
👍 20 ⬇️ 3K
Dart 3 compatibleMaintenance Status: Good
RouteObserveMixin provides easy access to didPush/didPop/didPushNext/didPopNext.
no_context_navigation
👍 20 ⬇️ 1.3K
Dart 3 compatibleMaintenance Status: Poor
A Flutter package built to navigate between screens (routes) without using context (BuildContext).
ff_annotation_route
👍 16 ⬇️ 792
Dart 3 compatibleMaintenance Status: Good
Provide a route generator to create route map quickly by annotations.
fragment_navigate
👍 16 ⬇️ 65
Dart 3 compatibleMaintenance Status: Poor
A controller to make the effect of swapping fragments like in native Android.
navi
👍 16 ⬇️ 53
Dart 3 compatibleMaintenance Status: Poor
A simple and easy to learn declarative navigation framework for Flutter, based on Navigator 2.0 (Router).
splash_route
👍 16 ⬇️ 8
Dart 3 compatibleMaintenance Status: Poor
It is just a route with fancy animation. It is used to show the splash animation while navigating to another page.
swipe_back_detector
👍 15 ⬇️ 174
Dart 3 compatibleMaintenance Status: Poor
A detector to add "swipe to go back" functionality in custom routes or non Cupertino routes.
ngrouter
👍 3 ⬇️ 4.8K
Dart 3 compatibleMaintenance Status: Poor
Router for AngularDart. It enables navigation from one view to the next as users perform tasks.
atreeon_menu_flutter
👍 2 ⬇️ 6
Dart 3 compatibleMaintenance Status: Poor
Displays a series of menus based on single pages for demoing purposes.
vrouter
👍 323 ⬇️ 235
Maintenance Status: Poor
A navigation package that makes navigation and routing easy on every platform. Built on top of Navigator 2.
sailor
👍 128 ⬇️ 41
Maintenance Status: Poor
Easily manage page navigation/routing in Flutter apps. Add page transition animations, log navigation events.
riverpod_navigator
👍 25 ⬇️ 160
Maintenance Status: Poor
Simple but powerfull Flutter navigation with riverpod and Navigator 2.0
nested_navigators
👍 17 ⬇️ 42
Maintenance Status: Poor
Flutter widget for implementing multiple nested navigators with their own route stacks.
nav_router
👍 12 ⬇️ 30
Maintenance Status: Poor
flutter The lightest, easiest and most convenient route management!
