A curated list of awesome packages on pub.dev.
Please take a quick look at the contribution guidelines first.
If you see a package that is no longer maintained, please submit a pull request to improve this file. You guys rock!
Libraries to display avatars in a Flutter App.
- avatars - An avatar widget that uses the best available data source among those provided (social images, gravatar, name initials, custom).
- colorize_text_avatar - Colorize Text Avatar is a package to generate avatar based on your user initials.
- fluttermoji - A light-weight and highly customizable SVG graphic set for Flutter which generates avatars and provides a Customizer Widget, personalized CircleAvatar and other utility functions.
- flutter_avatars_bottts - Flutter Avatar - Bottts (high performance svg avatars rendering widget).
- multiavatar - Multiavatar is a multicultural avatar maker. 12 billion unique multicultural avatars.
Libraries custumize bottom navigation in a Flutter App.
- animated_bottom_navigation_bar - Animated Bottom Navigation Bar Widget implementation inspired by dribble shot.
- bottom_bar_with_sheet - This package help you to create bottom bar with FloatingActionButton which buld BottomSheet widget on every page.
- bottom_navy_bar - A beautiful and animated bottom navigation. The navigation bar use your current theme, but you are free to customize it.
- bottom_personalized_dot_bar - A bottom navigation bar that you can customize with the options you need, without any limits. You can also customize the appearance of the navigation bar.
- circular_bottom_navigation - Circular Bottom Navigation (or maybe a tab bar).
- cool_nav - A collection of really awesome, easy to use Bottom Navigation Bars.
- cuberto_bottom_bar - An animated bottom navigation bar supporting drawer icon at start or end or can be used with the drawer icon and is provided with 2 different styles.
- expanding_bottom_bar - A bottom navigation bar with expanding titles and icons when clicked.
- fancy_bottom_navigation - An animated Bottom Navigation Bar for Flutter apps, icon animates into place, colors are customisable.
- ff_navigation_bar - A highly configurable navigation bar with emphasis for the selected item.
- floating_bottom_navigation_bar - Fully customizable floating bottom navigation package for flutter.
- fluid_bottom_nav_bar - A beautiful bottom navigation with a fluid animation. Bar color, icons and animation speed are fully customizable.
- flutter_snake_navigationbar - Flutter bottom navigation bar widget with snake animation on change item.
- google_nav_bar - A modern google style nav bar which could be use as a bottom navigation bar or tabbar, the design strictly follows the cuberto UI/UX on dribbble.
- persistent_bottom_nav_bar - A do all, highly customizable persistent/static bottom navigation bar for flutter. Includes up-to 20 styles.
- salomon_bottom_bar - Yet another bottom navigation bar, but with a few key promises.
- scroll_bottom_navigation_bar - Hide or show bottom navigation bar while scrolling.
- spincircle_bottom_bar - An easy to implement Spin Circle Bottom Navigation Bar for Flutter Applications.
- titled_navigation_bar - A beautiful, clean and simple bottom navigation bar with smooth animation on click. This package is high customizable, read more bellow for more details.
Libraries to use camera in a Flutter App.
- adv_camera - An advanced camera with features.
- camera - A Flutter plugin for getting information about and controlling the camera on Android and iOS. Supports previewing the camera feed, capturing images, capturing video, and streaming image buffers to dart.
- camerawesome - Flutter plugin to add Camera support inside your project with lots of features: live camera flip, instant focus, device flash support, zoom, fullscreen or sizedBox preview.
- camera_with_rtmp - Controlling the camera on Android and iOS plus rtmp live streaming support. Based off the Camera plugin.
- flutter_better_camera - Flutter plugin for controlling the camera on Android and IOS, supports camera feed, capturing images, capturing videos, streaming image buffers and has support for all the essential features the camera APIs allow (flash, AE and more).
- image_picker_gallery_camera - Flutter Package to Pick Image From Gallery or Camera. This Package supports picking image from Camera,Gallery and Both Camera abd Gallery.
- magiceye - An abstraction on top of flutter camera, that allows you to have a default camera screen or build your own with the layer builders.
Libraries to manage chat ui in a Flutter App.
- bubble - A Flutter widget for chat like a speech bubble in Whatsapp and others.
- chat_bubbles - Chat bubble widgets, similar to Whatsapp and more shapes. Easy to use and implement chat bubbles.
- chat_list - A flutter package to incorporate a chat view in a simple way.
- dash_chat - The most complete Chat UI for flutter inspired by react-native-gifted-chat.
- flutter_chat_bubble - Flutter widget for creating different types of chat bubble. You can use different properties of this Widget and create beautiful Chat Bubbles.
Libraries to handle color in a Flutter App.
- color_palette_generator - Color palette generator, capable to generate N colors using a set of basic colors. Supports HEX and RGBA colors.
- flex_color_picker - A customizable Flutter primary, accent and custom color picker. Includes an optional HSV wheel color picker.
- flex_color_scheme - A Flutter package to make and use beautiful color scheme based MaterialApp themes.
Libraries to use cryptographic functions in a Flutter App.
- crypto - Implementations of SHA, MD5, and HMAC cryptographic functions.
- cryptography - Cryptographic algorithms for encryption, digital signatures, key agreement, authentication, and hashing. AES, Chacha20, ED25519, X25519, and more. Web Crypto support.
- encrypt - A set of high-level APIs over PointyCastle for two-way cryptography.
- nanoid - A tiny, secure, URL-friendly, unique string ID generator. Dart implementation of ai/nanoid.
- rsa_encrypt - Enable you to quickly implement rsa encryption in your flutter app, it covers everything from Generating key pairs, encrypt and decrypting strings.
- uuid - RFC4122 (v1, v4, v5) UUID Generator and Parser for all Dart platforms (Web, VM, Flutter).
Libraries to deal with Dart.
- dartx - Superpowers for Dart. Collection of useful static extension methods.
- dart_code_metrics - Software analytics tool that helps developers analyse and improve software quality.
- superdeclarative_geometry - First-class support for angles, polar coordinates, and more.
Libraries to manage database in a Flutter App.
- fluent_query_builder - A dart library that allows you to execute SQL queries in the PostgreSQL database in a fluent way, is very easy to execute.
- database - A database access API that's vendor-agnostic. Adapters exist for browser APIs, SQLite, Google Cloud Firestore, PostgreSQL, ElasticSearch, Algolia, and others.
- hive - Hive is a lightweight and blazing fast key-value database written in pure Dart. Inspired by Bitcask.
- moor - Moor is a reactive persistence library for Flutter and Dart, built ontop of sqlite.
- objectbox - Flutter database for super-fast NoSQL ACID compliant object persistence.
- postgres -PostgreSQL database driver. Supports statement reuse and binary protocol.
- sembast - NoSQL persistent embedded file system document-based database for Dart VM and Flutter with encryption support.
- sqflite - SQLite plugin for Flutter, it's support: transactions and batches, automatic version managment during open, helpers for insert/query/update/delete queries, DB operation executed in a background thread on iOS and Android.
Libraries to pick date and/or time in a Flutter App.
- calendar_timeline - A horizontal date picker that takes up little screen space, so we can always have it visible, and that facilitates use with one hand.
- day_night_time_picker - A day night time picker for Flutter with Zero Dependencies.
- datetime_picker_formfield - A TextFormField that emits DateTimes and helps show Material, Cupertino, and other style picker dialogs.
- date_picker_timeline - Flutter Date Picker Library that provides a calendar as a horizontal timeline.
- flutter_datetime_picker - A date time picker for flutter, you can choose date / time / date&time in English Dutch and Chinese, and you can also custom your own picker content.
- flutter_duration_picker - A widget for picking durations, inspired by Material Time Picker.
- f_datetimerangepicker - Date and Time Range Picker for Flutter using Cupertino. Support pick date range, time range, date and time range.
- persian_datetime_picker - A persian (farsi,shamsi) datetime picker for flutter, inspired by material datetime picker.
- platform_date_picker - A platform aware date and time picker. Unlike the showDatePicker and showTimePicker functions, this package automatically chooose the appropiate widget depending on the platform.
- syncfusion_flutter_datepicker - The Syncfusion Flutter Date Range Picker widget allows users to easily select dates or a range of dates. It has built-in views that allow quick navigation to the desired date.
Libraries to help you develop a Flutter App.
- catcher - Plugin for error catching. Allows handling errors when they're not catched by developer. Plugin provides multiple handlers for errors.
- device_preview - Approximate how your app looks and performs on another device.
- fvm - A simple cli to manage Flutter SDK versions per project. Support channels, releases, and local cache for fast switching between versions.
- let_log - LetLog is a logger that supports both IDE and in-app display, and supports log and network.
- logger - Small, easy to use and extensible logger which prints beautiful logs.
- simple_logger - Provides super simple APIs for logging. The log also includes caller info by setting includeCallerInfo to true. On Android Studio, jump to called location by clicking the log.
Libraries to use Firebase in a Flutter App.
- firebase_admob - A plugin for Flutter that supports loading and displaying banner, interstitial (full-screen), and rewarded video ads using the Firebase AdMob API.
- firebase_analytics - A Flutter plugin to use the Google Analytics for Firebase API.
- firebase_auth - A Flutter plugin to use the Firebase Authentication API.
- firebase_core - A Flutter plugin to use the Firebase Core API, which enables connecting to multiple Firebase apps.
- firebase_crashlytics - A Flutter plugin to use the Firebase Crashlytics API.
- firebase_database - A Flutter plugin to use the Firebase Realtime Database API.
- firebase_helpers - Firestore helper function to create dynamic and location based queries
- firebase_messaging - A Flutter plugin to use the Firebase Cloud Messaging (FCM) API.
- firebase_performance - A Flutter plugin to use the Google Performance Monitoring for Firebase API.
- firebase_remote_config - A Flutter plugin to use the Firebase Remote Config API.
- firebase_storage - A Flutter plugin to use the Firebase Cloud Storage API.
PlusPlugins is a set of Flutter plugins that is developed based on existing Flutter plugins with extra functionalities, platforms support, and better maintenance.
- android_alarm_manager_plus - Flutter plugin for accessing the Android AlarmManager service, and running Dart code in the background when alarms fire.
- android_intent_plus - Flutter plugin for launching Android Intents. Not supported on iOS.
- battery_plus - A Flutter plugin to access various information about the battery of the device the app is running on.
- connectivity_plus - Flutter plugin for discovering the state of the network (WiFi & mobile/cellular) connectivity on Android and iOS.
- device_info_plus - Flutter plugin providing detailed information about the device (make, model, etc.), and Android or iOS version the app is running on.
- package_info_plus - Flutter plugin for querying information about the application package, such as CFBundleVersion on iOS or versionCode on Android.
- sensors_plus - Flutter plugin for accessing accelerometer and gyroscope sensors.
- share_plus - Flutter plugin for sharing content via the platform share UI, using the ACTION_SEND intent on Android and UIActivityViewController on iOS.
Libraries to work with http on a Flutter App.
- alice - Alice is an HTTP Inspector tool which helps debugging http requests. It catches and stores http requests and responses, which can be viewed via simple UI.
- chopper - Chopper is an http client generator using source_gen and inspired from retrofit.
- dio - A powerful Http client for Dart, which supports Interceptors, FormData, Request Cancellation, File Downloading, Timeout etc.
- http - A composable, multi-platform, Future-based API for HTTP requests.
- retrofit - Retrofit.dart is an dio client generator using source_gen and inspired by Chopper and Retrofit.
Libraries to add custom custom icons to a Flutter App.
- cupertino_icons - This is an asset repo containing the default set of icon assets used by Flutter's Cupertino widgets.
- eva_icons_flutter - Flutter package for Eva Icons. Eva Icons is a pack of more than 480 beautifully crafted Open Source icons for common actions and items.
- fluentui_icons - Icon package from Flutter based on fluentui-system-icons from Microsoft.
- flutter_icons - Customizable Icons for Flutter,Inspired by react-native-vector-icons.
- flutter_phosphor_icons - Phosphor is a flexible icon family for interfaces, diagrams, presentations — whatever, really.
- fontisto_flutter - Based on Fontisto 3.0.4. Includes all free icons (over 600 icon).
- font_awesome_flutter - The Font Awesome Icon pack available as set of Flutter Icons. Based on Font Awesome 5.15.1. Includes all free icons: Regular, Solid, Brands.
- line_awesome_flutter - The Line Awesome Icon pack available as Flutter Icons. Provides 1542 additional icons to use in your apps.
- outline_material_icons - This package provides the 'outline' theme of icons on the Material Design website, which is not available in Flutter or as a .ttf font file.
- weather_icons - A Flutter library for using Weather Icons.
Libraries to manage images in a Flutter App.
- bitmap - Bitmap is a fast and minimalistic lib that heelps you to manipulate image on Flutter apps.
- flutter_advanced_networkimage - An advanced image provider provides caching and retrying for flutter app. Now with zoomable widget and transition to image widget.
- flutter_blurhash - Compact representation of a placeholder for an image. Encode a blurry image under 30 caracters for instant display like used by Medium.
- flutter_image_compress - Compress image with native code(objc kotlin), it's faster. This library can work on android/ios.
- image - Provides server and web apps the ability to load, manipulate, and save images with various image file formats including PNG, JPEG, GIF, BMP, WebP, TIFF, TGA, PSD, PVR, and OpenEXR.
- image_editor_pro - Image Editor Plugin with simple, easy support for image editing using paints,text and emoji like stories.
- image_fade - A widget that displays a placeholder and optional progress indicator while an image loads, then cross-fades to the loaded image. Improves on FadeInImage.
- octo_image - A multifunctional Flutter image widget. Supports placeholders, error widgets and image transformers with fading.
- parallax_image - A Flutter widget that paints an image and moves it at a slower speed than the main scrolling content.
- progressive_image - A flutter widget which progressively loads larger images using Low Quality Image Placeholders.
- shadowed_image - A new Flutter package for creating shadow of same color scheme as the image.
Libraries to deal with layouts in a Flutter App.
- boardview - This is a custom Flutter widget that can create a draggable BoardView or also known as a kanban. The view can be reordered with drag and drop.
- boxy - Layout made simple. Overcomes many limitations by the framework regarding layout.
- flutter_layout_grid - A powerful grid layout system for Flutter, optimized for complex user interface design.
- pixel_perfect - Development tool that helps you make your flutter application "pixel perfect"
Libraries to display loading indicators in a Flutter App.
- flutter_easyloading - A clean and lightweight loading/toast widget for Flutter, easy to use without context, support iOS, Android and Web.
- flutter_spinkit - A collection of loading indicators animated with flutter.
- loading_animations - A Flutter package with a selection of simple yet very customizable set of loading animations.
- loading_gifs - Loading indicator GIFs. Material and Cupertino (Android and iOS) loading indicators in assorted sizes. Use as placeholders for loading remote image assets.
Libraries to deal with navigation in a Flutter App.
- auto_route - AutoRoute is a declarative routing solution, where everything needed for navigation is automatically generated for you.
- go_router - A declarative router for Flutter based on Navigation 2 supporting deep linking, data-driven routes and more.
- routemaster - Easy-to-use Navigator 2.0 router for web, mobile and desktop. URL-based routing, simple navigation of tabs and nested routes.
- qlevar_router - A router that helps you to manage your project routes. Create nested routes. navigation without context between your pages.
- vrouter - A navigation package that makes navigation and routing easy on every platform. Built on top of Navigator 2.
Libraries to display and modify PDF in a Flutter App.
- advance_pdf_viewer - A flutter plugin for handling PDF files. Works on both Android & iOS.
- flutter_cached_pdfview - A package to show Native PDF View for iOS and Android, support Open from a different resource like Path, Asset or Url and Cache it.
- flutter_full_pdf_viewer - A flutter plugin to display PDF. This works for Android and for iOS.
- native_pdf_renderer - Flutter plugin to render PDF pages as images on Web, MacOS, Android and iOS.
- native_pdf_view - Flutter plugin to render PDF files on Web, MacOS, Android and iOS.
- pdf - A pdf producer for Dart. It can create pdf files for both web or flutter.
- pdf_flutter - Displaying PDF from Network, File and assets easily like we display Image in Flutter Widget.
- pdf_viewer_plugin - A Flutter plugin for IOS and Android providing a simple way to display local file PDFs.
Libraries to display and generate QRCode in a Flutter App.
- barcode_scan2 - A flutter plugin for scanning 2D barcodes and QRCodes via camera.
- barcode_scanner - Flutter plugin of the Scanbot Barcode Scanner SDK for Android and iOS. Provides functionality for scanning 1D and 2D barcodes, like EAN, UPC, QR code, Data Matrix, PDF 417, etc.
- flutter_qr_reader - QR code (scan QRCode and picture) recognition (AndroidView/UiKitView)
- pretty_qr_code - Pretty QR code for Flutter. You can round the edges with parameter or use the standard view.
- qr - A QR code generation library for Dart and Flutter. Supports QR code version 1 through 40, error correction and redundancy.
- qr_code_scanner - QR code scanner that can be embedded inside flutter. It uses zxing in Android and MTBBarcode scanner in iOS.
- qr_flutter - QR.Flutter is a Flutter library for simple and fast QR code rendering via a Widget or custom painter.
- r_scan - A flutter plugin about qr code scan it can scan from file, url, memory and camera qr code.
Libraries to use device sensors in a Flutter App.
- battery - Flutter plugin for accessing information about the battery state (full, charging, discharging) on Android and iOS.
- connectivity - This plugin allows Flutter apps to discover network connectivity and configure themselves accordingly. It can distinguish between cellular vs WiFi connection. This plugin works for iOS and Android.
- flutter_background_geolocation - The most sophisticated background location tracking & geofencing module with battery-conscious motion-detection intelligence for iOS and Android.
- geolocator - A Flutter geolocation plugin which provides easy access to platform specific location services (FusedLocationProviderClient or if not available the LocationManager on Android and CLLocationManager on iOS).
- location - This plugin for Flutter handles getting location on Android and iOS. It also provides callbacks when location is changed.
- sensors - Flutter plugin for accessing the Android and iOS accelerometer and gyroscope sensors.
Libraries to manage the state of a Flutter App.
- bloc - The goal of this package is to make it easy to implement the BLoC Design Pattern (Business Logic Component) in a Flutter App.
- flutter_bloc - Widgets that make it easy to integrate blocs and cubits into Flutter. Built to work with bloc.
- flutter_command - flutter_command is a way to manage your state based on
ValueListenable
and theCommand
design pattern. - flutter_riverpod - This project can be considered as a rewrite of provider to make improvements that would be otherwise impossible.
- get - Get or GetX(new name) is an extra-light and powerful solution for Flutter. It combines high performance state management, intelligent dependency injection, and route management in a quick and practical way.
- get_it - Simple direct Service Locator that allows to decouple the interface from a concrete implementation and to access the concrete implementation from everywhere in your App
- get_it_mixin - mixin on Stateless- and StatefulWidgts that makes binding the Widget to Objects stored in GetIt easier. Makes get_it to a full state management solution
- mobx - MobX is a state-management library that makes it simple to connect the reactive data of your application with the UI.
- provider - A wrapper around InheritedWidget to make them easier to use and more reusable.
Libraries integrate Supabase services
- postgrest - PostgREST client for Dart. This library provides an ORM interface to PostgREST.
- realtime_client - Listens to changes in a PostgreSQL Database and via websockets. This is for usage with Supabase Realtime server.
- supabase - A dart client for Supabase. This client makes it simple for developers to build secure and scalable products.
- supabase_flutter - Flutter integration for Supabase. This package makes it simple for developers to build secure and scalable products.
Libraries to work with text in a Flutter App.
- span_builder - Facilitates creation of spans from plain text and provides automated disposal of GestureRecognizers.
- word_selectable_text - The WordSelectableText widget gives an easy way to select and highlight words.
Libraries to show a timeline in a Flutter App.
- bubble_timeline - A Flutter Widget to make interactive timeline widget. This widget provides easy customisation of individual event bubbles.
- flutter_timeline - A fully customizable & general timeline widget, based on real-world application references.
- timeline_list - Displays customizable timeline of widgets.
- timeline_node - A timeline node widget to create timeline layout.
- timeline_tile - A package to help you build highly customisable timelines with Flutter.
Utility libraries to create UI in a Flutter App.
- collapsible_sidebar - A collapsible sidebar for Flutter apps implementing the Material Design.
- flip_card - A component that provides flip card animation. It could be used for hide and show details of a product.
- flutter_slidable - A Flutter implementation of slidable list item with directional slide actions that can be dismissed.
- getwidget - GetWidget is open source library that come with pre-build 1000+ UI components. It makes development faster & more enjoyable. You can customize the component as per your need.
- gradient_fab - GradientFab Widget is an expandable Floating Action Button that can expand into any number of child Fabs.
- group_button - Flutter custom widget to make a group buttons. Included Radio and CheckBox buttons.
- stilo - Stilo is a utility-first Flutter library that gives you all of the building constants you need to build designs without defining common styles.
- wave - Widget for displaying waves with custom color, duration, floating and blur effects.
- widget_circular_animator - A pre-built Flutter circular animator, can suit your new profile view or your any other widgets.
Utility libraries for a Flutter App.
- carrier_info - Carrier Info gets networkType, networkGeneration, mobileCountryCode, mobileCountryCode, e.t.c from both android and ios devices.
- cherry_toast - A new way to display toasts in flutter with elegant design and animations.
- device_info - Get current device information from within the Flutter application.
- flutter_libphonenumber - Leverages libphonenumber to allow for asynchronous and synchronous formatting of phone numbers in Flutter apps.
- jiffy - Jiffy is a date dart package inspired by momentjs for parsing, manipulating and formatting dates.
- json_serializable - Automatically generate code for converting to and from JSON by annotating Dart classes.
- mailto - Simple Dart package for creating mailto links in your Flutter apps.
- package_info - This Flutter plugin provides an API for querying information about an application package.
- path_provider - Flutter plugin for getting commonly used locations on host platform file systems, such as the temp and app data directories.
- printing - Plugin that allows Flutter apps to generate and print documents to compatible printers on Android, iOS, macOS, Windows, and Linux, as well as web print.
- quick_actions - Flutter plugin for creating shortcuts on home screen, also known as Quick Actions on iOS and App Shortcuts on Android.
- rules - Rules is a simple yet powerful and feature-rich validation library for both dart and flutter.
- share - A Flutter plugin to share content from your Flutter app via the platform's share dialog.
- shared_preferences - Wraps platform-specific persistent storage for simple data (NSUserDefaults on iOS and macOS, SharedPreferences on Android, etc.).
- uni_links - Flutter plugin for accepting incoming links - App/Deep Links (Android), Universal Links and Custom URL schemes (iOS).
- url_launcher - A Flutter plugin for launching a URL in the mobile platform. Supports iOS, Android, web, Windows, macOS, and Linux.
- flow_builder - Flutter Flows made easy! A Flutter package which simplifies flows with a flexible, declarative API.
- mason - A Dart template generator which helps teams generate files quickly and consistently.
- mockingjay - A package that makes it easy to mock, test and verify navigation calls in Flutter.
- pub_updater - A Dart package which enables checking whether a package is up to date.
- very_good_infinite_list - A Very Good Infinite List Widget created by Very Good Ventures. Comes in handy when making activity feeds, news feeds, etc.
- very_good_analysis - Lint rules for Dart and Flutter used internally at Very Good Ventures.
- very_good_cli - A Very Good Command Line Interface for Dart created by Very Good Ventures.
- very_good_performance - Utility on top of the Flutter Driver API that facilitates measuring the performance of your app in an automated way.
Libraries to play video in a Flutter App.
- better_player - Advanced video player based on video_player and Chewie. It's solves many typical use cases and it's easy to run.
- cached_video_player - A new flutter plugin that is virtually a clone of official video_player plugin except that it supports caching( Android and iOS)
- chewie - A video player for Flutter with Cupertino and Material play controls.
- flick_video_player - Flick Video Player is a video player for flutter. The video_player plugin gives low level access for the video playback.
- flutter_playout - This plugin provides audio/video playback from a URL with background audio support, lock screen controls & player events for both iOS and Android.
- flutter_video_compress - Generate a new file by compressed video, and provide metadata. Get video thumbnail from a video path, supports JPEG/GIF. To reduce app size not using FFmpeg in IOS.
- flutter_vlc_player - A VLC-powered alternative to Flutter's video_player. Supports multiple players on one screen.
- video_player - Flutter plugin for displaying inline video with other Flutter widgets on Android, iOS, and web.
- video_thumbnail - A flutter plugin for creating a thumbnail from a local video file or from a video URL.
- video_trimmer - A Flutter package for trimming videos. This supports retrieving, trimming, and storage of trimmed video files to the file system.
Where to discover new Pub.dev libraries.
- Pub.dev: The official pub.dev wesite