Skip to content
Blog

Flutter's Package Ecosystem Grew 26% in 2023: What pub.dev's Numbers Actually Tell You

38,000 to 48,000 packages in one year and 700,000 monthly pub.dev users — reading the Flutter team's ecosystem progress report the right way.

Published on • October 20, 2026

AI Assistant

The Flutter team’s January 2024 progress report on the package ecosystem (Progress of the Flutter Package Ecosystem by Ander Dobo, published January 22, 2024) is the cleanest set of hard numbers we have on how fast the registry grew. If you’re deciding whether to bet a product on Flutter packages — or deciding which of four HTTP clients to adopt — it’s worth reading closely rather than skimming the headline.

The headline: 26% growth in a single year

The Flutter and Dart package ecosystem grew 26% in 2023, from 38,000 packages in January to 48,000 at the end of December. On top of that, pub.dev had more than 700,000 monthly active users as of January 2024.

Two things follow from those numbers:

  1. Supply keeps expanding. Roughly 10,000 new packages landed in twelve months. Whatever integration you need — Bluetooth, SQLite, Lottie, CRDTs — someone has probably published it, and probably more than once.
  2. Discovery, not availability, is your real problem. 48,000 packages means the binding constraint is signal: is this package maintained, tested, null-safe, and used by anyone? Growth of that size makes raw counts useless as a quality proxy.

That second point is exactly why the curation programs below exist.

Flutter Favorites: the curation that matters more than the count

The Flutter Favorites program recognizes high-quality packages to help developers discover them. The report announced seven new Flutter Favorites in that batch:

  • flame — the 2D game engine
  • flutter_animate — declarative animation library
  • riverpod — state management
  • video_player — the video playback widget
  • macos_ui — macOS-design-language widgets
  • fpdart — functional programming in Dart
  • flutter_rust_bridge — Rust interop

Notably, the team also sunset the Happy Paths recommendation program to concentrate on Flutter Favorites, pointing to community efforts like Flutter Gems as complementary categorization resources. For you as a consumer, the practical translation: when a Favorites badge exists for your category, start there; otherwise, apply your own checklist (recent releases, open issue response, platform coverage, tests).

Community infrastructure: the summit and pub.dev topic tags

The report also documents the plumbing behind the growth:

  • Package Ecosystem Virtual Summit: held in late August 2023, attended by more than 50 non-Googler and Googler contributors to pub.dev, in an unconference format with three attendee-voted sessions — building high-quality packages, sustainable long-term maintenance, and Flutter/Dart DevTools extensions.
  • Canonical topics on pub.dev: since 2023, authors can tag a package with 1–5 free-text topics in the pubspec. Uptake was strong enough that the team proposed merging near-duplicates (like widget and widgets) and opened a community issue to drive it.
  • DartPad package selection: a fixed set of packages is supported in DartPad, with the team reviewing requests (votes on existing issues, or new ones) on an ongoing basis.

The summit’s second topic — maintaining packages long term: sustainable models — is the quietly important one. Ten thousand new packages per year is only healthy if deletion and adoption keep pace.

Case study: Pigeon’s year of first-party improvement

The report uses pigeon, the code generator for platform channel interop, as an example of sustained maintenance — noting changes between v5.0.0 in January and v15.0.2 in December of that year, including:

  • support for Swift, Kotlin, and C++ (C++ unlocked Windows)
  • enforced null safety
  • expanded primitive type support, including enums
  • nullable parameters
  • error handling on host and Flutter APIs
  • ergonomics like default and named parameters

It’s a useful reminder that the most load-bearing packages in your pubspec.yaml are often the first-party tools you never consciously “choose.”

How to read a pub.dev page when there are 48,000

The report’s investments — Favorites, topic tags, scoring — map directly onto signals pub.dev already shows you on every package page:

  • Verified publisher badge: published by a company or organization (like fluttercommunity.dev or firebase.google.com) rather than an anonymous account.
  • Pub points and likes: the score panel’s health checks (documentation, null safety, platform declarations) plus community likes; both are cheap filters before you read any code.
  • Platform tags: Android, iOS, web, macOS, Windows, Linux — a missing tag is a faster answer than digging through the plugin source.
  • Topics: the 1–5 free-text pubspec topics from this report, surfaced as browsable links, which is the categorization layer that replaced unstructured search.
  • Version and recency: the published date next to the version number tells you whether maintenance is alive.

None of these prove quality, but run in sequence they eliminate most candidates in under a minute — which is the only way a registry at this scale is usable.

What to do with this as a Flutter developer

You can’t audit 48,000 packages, so compress the problem:

  1. Default to curated lists. Flutter Favorites first, then topic/tag search on pub.dev (the free-text topics from this report are what make that search possible).
  2. Weight maintenance signals over stars. Recent release cadence, resolved issues, and platform tag coverage predict breakage risk better than popularity.
  3. Assume competition exists. At 26% annual growth, if two packages solve your problem, evaluate both — the registry’s churn is on your side.
  4. Give back where it counts. The summit’s open problems (quality bars, sustainable maintenance) are solved by authors and reviewers, and the team runs the conversation in the #package-authors Discord channel.

Sources