Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/flutter/packages
A collection of useful packages maintained by the Flutter team
https://github.com/flutter/packages
Last synced: 3 days ago
JSON representation
A collection of useful packages maintained by the Flutter team
- Host: GitHub
- URL: https://github.com/flutter/packages
- Owner: flutter
- License: bsd-3-clause
- Created: 2017-08-01T21:43:32.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2025-02-10T14:47:32.000Z (11 days ago)
- Last Synced: 2025-02-10T16:48:37.482Z (11 days ago)
- Language: Dart
- Size: 117 MB
- Stars: 4,554
- Watchers: 125
- Forks: 3,046
- Open Issues: 85
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: CODEOWNERS
- Authors: AUTHORS
Awesome Lists containing this project
- awesome-github-star - packages
- StarryDivineSky - flutter/packages
README
# Flutter Packages
[](https://github.com/flutter/packages/actions/workflows/release.yml)
[](https://flutter-dashboard.appspot.com/#/build?repo=packages)This repo is a companion repo to the main [flutter repo](
https://github.com/flutter/flutter). It contains the source code for Flutter's
first-party packages (i.e., packages developed by the core Flutter team).
Check the [`packages`](./packages) directory to see all packages.These packages are also available on [pub](https://pub.dev/flutter/packages).
## Issues
Please file any issues, bugs, or feature requests in the [main flutter
repo](https://github.com/flutter/flutter/issues/new/choose).
Issues pertaining to this repository are [labeled
"package"](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Apackage).## Contributing
If you wish to contribute a new package to the Flutter ecosystem, please
see the documentation for [developing packages](https://flutter.dev/to/develop-packages). You can store
your package source code in any GitHub repository (the present repo is only
intended for packages developed by the core Flutter team). Once your package
is ready you can [publish](https://flutter.dev/to/develop-packages#publish)
to the [pub repository](https://pub.dev/).If you wish to contribute a change to any of the existing packages in this repo,
please review our [contribution guide](https://github.com/flutter/packages/blob/main/CONTRIBUTING.md),
and send a [pull request](https://github.com/flutter/packages/pulls).## Packages
These are the packages hosted in this repository:
| Package | Pub | Points | Popularity | Issues | Pull requests |
|---------|-----|--------|------------|--------|---------------|
| [animations](./packages/animations/) | [](https://pub.dev/packages/animations) | [](https://pub.dev/packages/animations/score) | [](https://pub.dev/packages/animations/score) | [](https://github.com/flutter/flutter/labels/p%3A%20animations) | [](https://github.com/flutter/packages/labels/p%3A%20animations) |
| [camera](./packages/camera/) | [](https://pub.dev/packages/camera) | [](https://pub.dev/packages/camera/score) | [](https://pub.dev/packages/camera/score) | [](https://github.com/flutter/flutter/labels/p%3A%20camera) | [](https://github.com/flutter/packages/labels/p%3A%20camera) |
| [cross\_file](./packages/cross_file/) | [](https://pub.dev/packages/cross_file) | [](https://pub.dev/packages/cross_file/score) | [](https://pub.dev/packages/cross_file/score) | [](https://github.com/flutter/flutter/labels/p%3A%20cross_file) | [](https://github.com/flutter/packages/labels/p%3A%20cross_file) |
| [css\_colors](./packages/css_colors/) | [](https://pub.dev/packages/css_colors) | [](https://pub.dev/packages/css_colors/score) | [](https://pub.dev/packages/css_colors/score) | [](https://github.com/flutter/flutter/labels/p%3A%20css_colors) | [](https://github.com/flutter/packages/labels/p%3A%20css_colors) |
| [cupertino\_icons](./third_party/packages/cupertino_icons/) | [](https://pub.dev/packages/cupertino_icons) | [](https://pub.dev/packages/cupertino_icons/score) | [](https://pub.dev/packages/cupertino_icons/score) | [](https://github.com/flutter/flutter/labels/p%3A%20cupertino_icons) | [](https://github.com/flutter/packages/labels/p%3A%20cupertino_icons) |
| [espresso](./packages/espresso/) | [](https://pub.dev/packages/espresso) | [](https://pub.dev/packages/espresso/score) | [](https://pub.dev/packages/espresso/score) | [](https://github.com/flutter/flutter/labels/p%3A%20espresso) | [](https://github.com/flutter/packages/labels/p%3A%20espresso) |
| [extension\_google\_sign\_in\_as\_googleapis\_auth](./packages/extension_google_sign_in_as_googleapis_auth/) | [](https://pub.dev/packages/extension_google_sign_in_as_googleapis_auth) | [](https://pub.dev/packages/extension_google_sign_in_as_googleapis_auth/score) | [](https://pub.dev/packages/extension_google_sign_in_as_googleapis_auth/score) | [](https://github.com/flutter/flutter/labels/p%3A%20extension_google_sign_in_as_googleapis_auth) | [](https://github.com/flutter/packages/labels/p%3A%20extension_google_sign_in_as_googleapis_auth) |
| [file\_selector](./packages/file_selector/) | [](https://pub.dev/packages/file_selector) | [](https://pub.dev/packages/file_selector/score) | [](https://pub.dev/packages/file_selector/score) | [](https://github.com/flutter/flutter/labels/p%3A%20file_selector) | [](https://github.com/flutter/packages/labels/p%3A%20file_selector) |
| [flutter\_adaptive\_scaffold](./packages/flutter_adaptive_scaffold/) | [](https://pub.dev/packages/flutter_adaptive_scaffold) | [](https://pub.dev/packages/flutter_adaptive_scaffold/score) | [](https://pub.dev/packages/flutter_adaptive_scaffold/score) | [](https://github.com/flutter/flutter/labels/p%3A%20flutter_adaptive_scaffold) | [](https://github.com/flutter/packages/labels/p%3A%20flutter_adaptive_scaffold) |
| [flutter\_image](./packages/flutter_image/) | [](https://pub.dev/packages/flutter_image) | [](https://pub.dev/packages/flutter_image/score) | [](https://pub.dev/packages/flutter_image/score) | [](https://github.com/flutter/flutter/labels/p%3A%20flutter_image) | [](https://github.com/flutter/packages/labels/p%3A%20flutter_image) |
| [flutter\_lints](./packages/flutter_lints/) | [](https://pub.dev/packages/flutter_lints) | [](https://pub.dev/packages/flutter_lints/score) | [](https://pub.dev/packages/flutter_lints/score) | [](https://github.com/flutter/flutter/labels/p%3A%20flutter_lints) | [](https://github.com/flutter/packages/labels/p%3A%20flutter_lints) |
| [flutter\_markdown](./packages/flutter_markdown/) | [](https://pub.dev/packages/flutter_markdown) | [](https://pub.dev/packages/flutter_markdown/score) | [](https://pub.dev/packages/flutter_markdown/score) | [](https://github.com/flutter/flutter/labels/p%3A%20flutter_markdown) | [](https://github.com/flutter/packages/labels/p%3A%20flutter_markdown) |
| [flutter\_plugin\_android\_lifecycle](./packages/flutter_plugin_android_lifecycle/) | [](https://pub.dev/packages/flutter_plugin_android_lifecycle) | [](https://pub.dev/packages/flutter_plugin_android_lifecycle/score) | [](https://pub.dev/packages/flutter_plugin_android_lifecycle/score) | [](https://github.com/flutter/flutter/labels/p%3A%20flutter_plugin_android_lifecycle) | [](https://github.com/flutter/packages/labels/p%3A%20flutter_plugin_android_lifecycle) |
| [flutter\_svg](./third_party/packages/flutter_svg/) | [](https://pub.dev/packages/flutter_svg) | [](https://pub.dev/packages/flutter_svg/score) | [](https://pub.dev/packages/flutter_svg/score) | [](https://github.com/flutter/flutter/labels/p%3A%20flutter_svg) | [](https://github.com/flutter/packages/labels/p%3A%20flutter_svg) |
| [flutter\_svg\_test](./third_party/packages/flutter_svg_test/) | [](https://pub.dev/packages/flutter_svg_test) | [](https://pub.dev/packages/flutter_svg_test/score) | [](https://pub.dev/packages/flutter_svg_test/score) | [](https://github.com/flutter/flutter/labels/p%3A%20flutter_svg_test) | [](https://github.com/flutter/packages/labels/p%3A%20flutter_svg_test) |
| [flutter\_template\_images](./packages/flutter_template_images/) | [](https://pub.dev/packages/flutter_template_images) | [](https://pub.dev/packages/flutter_template_images/score) | [](https://pub.dev/packages/flutter_template_images/score) | [](https://github.com/flutter/flutter/labels/p%3A%20flutter_template_images) | [](https://github.com/flutter/packages/labels/p%3A%20flutter_template_images) |
| [go\_router](./packages/go_router/) | [](https://pub.dev/packages/go_router) | [](https://pub.dev/packages/go_router/score) | [](https://pub.dev/packages/go_router/score) | [](https://github.com/flutter/flutter/labels/p%3A%20go_router) | [](https://github.com/flutter/packages/labels/p%3A%20go_router) |
| [go\_router\_builder](./packages/go_router_builder/) | [](https://pub.dev/packages/go_router_builder) | [](https://pub.dev/packages/go_router_builder/score) | [](https://pub.dev/packages/go_router_builder/score) | [](https://github.com/flutter/flutter/labels/p%3A%20go_router_builder) | [](https://github.com/flutter/packages/labels/p%3A%20go_router_builder) |
| [google\_adsense](./packages/google_adsense/)| [](https://pub.dev/packages/google_adsense) | [](https://pub.dev/packages/google_adsense/score) | [](https://pub.dev/packages/google_adsense/score) | [](https://github.com/flutter/flutter/labels/p%3A%20google_adsense) | [](https://github.com/flutter/packages/labels/p%3A%20google_adsense) |
| [google\_maps\_flutter](./packages/google_maps_flutter/) | [](https://pub.dev/packages/google_maps_flutter) | [](https://pub.dev/packages/google_maps_flutter/score) | [](https://pub.dev/packages/google_maps_flutter/score) | [](https://github.com/flutter/flutter/labels/p%3A%20maps) | [](https://github.com/flutter/packages/labels/p%3A%20google_maps_flutter) |
| [google\_sign\_in](./packages/google_sign_in/) | [](https://pub.dev/packages/google_sign_in) | [](https://pub.dev/packages/google_sign_in/score) | [](https://pub.dev/packages/google_sign_in/score) | [](https://github.com/flutter/flutter/labels/p%3A%20google_sign_in) | [](https://github.com/flutter/packages/labels/p%3A%20google_sign_in) |
| [image\_picker](./packages/image_picker/) | [](https://pub.dev/packages/image_picker) | [](https://pub.dev/packages/image_picker/score) | [](https://pub.dev/packages/image_picker/score) | [](https://github.com/flutter/flutter/labels/p%3A%20image_picker) | [](https://github.com/flutter/packages/labels/p%3A%20image_picker) |
| [interactive\_media\_ads](./packages/interactive_media_ads/) | [](https://pub.dev/packages/interactive_media_ads) | [](https://pub.dev/packages/interactive_media_ads/score) | [](https://pub.dev/packages/interactive_media_ads/score) | [](https://github.com/flutter/flutter/labels/p%3A%20interactive_media_ads) | [](https://github.com/flutter/packages/labels/p%3A%20interactive_media_ads) |
| [in\_app\_purchase](./packages/in_app_purchase/) | [](https://pub.dev/packages/in_app_purchase) | [](https://pub.dev/packages/in_app_purchase/score) | [](https://pub.dev/packages/in_app_purchase/score) | [](https://github.com/flutter/flutter/labels/p%3A%20in_app_purchase) | [](https://github.com/flutter/packages/labels/p%3A%20in_app_purchase) |
| [ios\_platform\_images](./packages/ios_platform_images/) | [](https://pub.dev/packages/ios_platform_images) | [](https://pub.dev/packages/ios_platform_images/score) | [](https://pub.dev/packages/ios_platform_images/score) | [](https://github.com/flutter/flutter/labels/p%3A%20ios_platform_images) | [](https://github.com/flutter/packages/labels/p%3A%20ios_platform_images) |
| [local\_auth](./packages/local_auth/) | [](https://pub.dev/packages/local_auth) | [](https://pub.dev/packages/local_auth/score) | [](https://pub.dev/packages/local_auth/score) | [](https://github.com/flutter/flutter/labels/p%3A%20local_auth) | [](https://github.com/flutter/packages/labels/p%3A%20local_auth) |
| [metrics\_center](./packages/metrics_center/) | [](https://pub.dev/packages/metrics_center) | [](https://pub.dev/packages/metrics_center/score) | [](https://pub.dev/packages/metrics_center/score) | [](https://github.com/flutter/flutter/labels/p%3A%20metrics_center) | [](https://github.com/flutter/packages/labels/p%3A%20metrics_center) |
| [multicast\_dns](./packages/multicast_dns/) | [](https://pub.dev/packages/multicast_dns) | [](https://pub.dev/packages/multicast_dns/score) | [](https://pub.dev/packages/multicast_dns/score) | [](https://github.com/flutter/flutter/labels/p%3A%20multicast_dns) | [](https://github.com/flutter/packages/labels/p%3A%20multicast_dns) |
| [palette\_generator](./packages/palette_generator/) | [](https://pub.dev/packages/palette_generator) | [](https://pub.dev/packages/palette_generator/score) | [](https://pub.dev/packages/palette_generator/score) | [](https://github.com/flutter/flutter/labels/p%3A%20palette_generator) | [](https://github.com/flutter/packages/labels/p%3A%20palette_generator) |
| [path\_parsing](./third_party/packages/path_parsing/) | [](https://pub.dev/packages/path_parsing) | [](https://pub.dev/packages/path_parsing/score) | [](https://pub.dev/packages/path_parsing/score) | [](https://github.com/flutter/flutter/labels/p%3A%20path_parsing) | [](https://github.com/flutter/packages/labels/p%3A%20path_parsing) |
| [path\_provider](./packages/path_provider/) | [](https://pub.dev/packages/path_provider) | [](https://pub.dev/packages/path_provider/score) | [](https://pub.dev/packages/path_provider/score) | [](https://github.com/flutter/flutter/labels/p%3A%20path_provider) | [](https://github.com/flutter/packages/labels/p%3A%20path_provider) |
| [pigeon](./packages/pigeon/) | [](https://pub.dev/packages/pigeon) | [](https://pub.dev/packages/pigeon/score) | [](https://pub.dev/packages/pigeon/score) | [](https://github.com/flutter/flutter/labels/p%3A%20pigeon) | [](https://github.com/flutter/packages/labels/p%3A%20pigeon) |
| [pointer\_interceptor](./packages/pointer_interceptor/) | [](https://pub.dev/packages/pointer_interceptor) | [](https://pub.dev/packages/pointer_interceptor/score) | [](https://pub.dev/packages/pointer_interceptor/score) | [](https://github.com/flutter/flutter/labels/p%3A%20pointer_interceptor) | [](https://github.com/flutter/packages/labels/p%3A%20pointer_interceptor) |
| [plugin\_platform\_interface](./packages/plugin_platform_interface/) | [](https://pub.dev/packages/plugin_platform_interface) | [](https://pub.dev/packages/plugin_platform_interface/score) | [](https://pub.dev/packages/plugin_platform_interface/score) | [](https://github.com/flutter/flutter/labels/p%3A%20plugin_platform_interface) | [](https://github.com/flutter/packages/labels/p%3A%20plugin_platform_interface) |
| [process](./packages/process/) | [](https://pub.dev/packages/process) | [](https://pub.dev/packages/process/score) | [](https://pub.dev/packages/process/score) | [](https://github.com/flutter/flutter/labels/p%3A%20process) | [](https://github.com/flutter/packages/labels/p%3A%20process) |
| [quick\_actions](./packages/quick_actions/) | [](https://pub.dev/packages/quick_actions) | [](https://pub.dev/packages/quick_actions/score) | [](https://pub.dev/packages/quick_actions/score) | [](https://github.com/flutter/flutter/labels/p%3A%20quick_actions) | [](https://github.com/flutter/packages/labels/p%3A%20quick_actions) |
| [google\_identity\_services\_web](./packages/google_identity_services_web/) | [](https://pub.dev/packages/google_identity_services_web) | [](https://pub.dev/packages/google_identity_services_web/score) | [](https://pub.dev/packages/google_identity_services_web/score) | [](https://github.com/flutter/flutter/labels/p%3A%20google_identity_services_web) | [](https://github.com/flutter/packages/labels/p%3A%20google_identity_services_web) |
| [rfw](./packages/rfw/) | [](https://pub.dev/packages/rfw) | [](https://pub.dev/packages/rfw/score) | [](https://pub.dev/packages/rfw/score) | [](https://github.com/flutter/flutter/labels/p%3A%20rfw) | [](https://github.com/flutter/packages/labels/p%3A%20rfw) |
| [shared\_preferences](./packages/shared_preferences/) | [](https://pub.dev/packages/shared_preferences) | [](https://pub.dev/packages/shared_preferences/score) | [](https://pub.dev/packages/shared_preferences/score) | [](https://github.com/flutter/flutter/labels/p%3A%20shared_preferences) | [](https://github.com/flutter/packages/labels/p%3A%20shared_preferences) |
| [standard\_message\_codec](./packages/standard_message_codec/) | [](https://pub.dev/packages/standard_message_codec) | [](https://pub.dev/packages/standard_message_codec/score) | [](https://pub.dev/packages/standard_message_codec/score) | [](https://github.com/flutter/flutter/labels/p%3A%20standard_message_codec) | [](https://github.com/flutter/packages/labels/p%3A%20standard_message_codec) |
| [two\_dimensional\_scrollables](./packages/two_dimensional_scrollables/) | [](https://pub.dev/packages/two_dimensional_scrollables) | [](https://pub.dev/packages/two_dimensional_scrollables/score) | [](https://pub.dev/packages/two_dimensional_scrollables/score) | [](https://github.com/flutter/flutter/labels/p%3A%20two_dimensional_scrollables) | [](https://github.com/flutter/packages/labels/p%3A%20two_dimensional_scrollables) |
| [url\_launcher](./packages/url_launcher/) | [](https://pub.dev/packages/url_launcher) | [](https://pub.dev/packages/url_launcher/score) | [](https://pub.dev/packages/url_launcher/score) | [](https://github.com/flutter/flutter/labels/p%3A%20url_launcher) | [](https://github.com/flutter/packages/labels/p%3A%20url_launcher) |
| [vector\_graphics](./packages/vector_graphics/) | [](https://pub.dev/packages/vector_graphics) | [](https://pub.dev/packages/vector_graphics/score) | [](https://pub.dev/packages/vector_graphics/score) | [](https://github.com/flutter/flutter/labels/p%3A%20vector_graphics) | [](https://github.com/flutter/packages/labels/p%3A%20vector_graphics) |
| [vector\_graphics\_codec](./packages/vector_graphics_codec/) | [](https://pub.dev/packages/vector_graphics_codec) | [](https://pub.dev/packages/vector_graphics_codec/score) | [](https://pub.dev/packages/vector_graphics_codec/score) | [](https://github.com/flutter/flutter/labels/p%3A%20vector_graphics_codec) | [](https://github.com/flutter/packages/labels/p%3A%20vector_graphics_codec) |
| [vector\_graphics\_compiler](./packages/vector_graphics_compiler/) | [](https://pub.dev/packages/vector_graphics_compiler) | [](https://pub.dev/packages/vector_graphics_compiler/score) | [](https://pub.dev/packages/vector_graphics_compiler/score) | [](https://github.com/flutter/flutter/labels/p%3A%20vector_graphics_compiler) | [](https://github.com/flutter/packages/labels/p%3A%20vector_graphics_compiler) |
| [video\_player](./packages/video_player/) | [](https://pub.dev/packages/video_player) | [](https://pub.dev/packages/video_player/score) | [](https://pub.dev/packages/video_player/score) | [](https://github.com/flutter/flutter/labels/p%3A%20video_player) | [](https://github.com/flutter/packages/labels/p%3A%20video_player) |
| [web\_benchmarks](./packages/web_benchmarks/) | [](https://pub.dev/packages/web_benchmarks) | [](https://pub.dev/packages/web_benchmarks/score) | [](https://pub.dev/packages/web_benchmarks/score) | [](https://github.com/flutter/flutter/labels/p%3A%20web_benchmarks) | [](https://github.com/flutter/packages/labels/p%3A%20web_benchmarks) |
| [webview\_flutter](./packages/webview_flutter/) | [](https://pub.dev/packages/webview_flutter) | [](https://pub.dev/packages/webview_flutter/score) | [](https://pub.dev/packages/webview_flutter/score) | [](https://github.com/flutter/flutter/labels/p%3A%20webview) | [](https://github.com/flutter/packages/labels/p%3A%20webview_flutter) |
| [xdg\_directories](./packages/xdg_directories/) | [](https://pub.dev/packages/xdg_directories) | [](https://pub.dev/packages/xdg_directories/score) | [](https://pub.dev/packages/xdg_directories/score) | [](https://github.com/flutter/flutter/labels/p%3A%20xdg_directories) | [](https://github.com/flutter/packages/labels/p%3A%20xdg_directories) |