
Publishing your own Flutter package to pub.dev is a great way to contribute to the Flutter community and showcase your skills. Whether you’re building a utility library or UI component, this guide will walk you through the entire publishing process from start to finish.
✅ Why Publish to pub.dev?
- Share useful tools with other developers
- Get feedback and contributions from the community
- Boost your portfolio and credibility
- Learn more about packaging, documentation, and versioning
🧱 Step 1: Create a New Flutter Package
Run the following in your terminal:
flutter create --template=package my_awesome_package
This creates a new directory with everything preconfigured. Open it in your editor of choice.
📦 Step 2: Define Package Info in pubspec.yaml
Update your pubspec.yaml
with:
name: my_awesome_package
description: A short description of what your package does.
version: 0.0.1
homepage: https://github.com/yourusername/my_awesome_package
repository: https://github.com/yourusername/my_awesome_package
issue_tracker: https://github.com/yourusername/my_awesome_package/issues
environment:
sdk: ">=2.17.0 <4.0.0"
Make sure to:
- Set the correct Dart SDK range
- Provide URLs (required for credibility)
- Add a
README.md
,CHANGELOG.md
, andLICENSE
🧪 Step 3: Write and Test Your Package
Implement your logic in lib/
. Also add public-facing APIs in lib/my_awesome_package.dart
.
Add tests in test/
. Run them with:
flutter test
Good test coverage = more trust from the community.
📚 Step 4: Document Everything
Create a solid README.md
:
- Introduction
- Installation
- Usage examples
- Screenshots or GIFs if needed
Add a CHANGELOG.md
with:
## [0.0.1] - Initial release
- Basic features added.
Use clear language and follow Markdown formatting.
🔐 Step 5: Authenticate with pub.dev
Login to pub.dev via the terminal:
dart pub publish --dry-run
Follow the instructions. The command will open your browser to sign in with your Google account.
🚀 Step 6: Publish!
After everything passes the dry run:
dart pub publish
You’ll be prompted to confirm. Type y
and hit Enter. Boom—your package is live!
🧰 Bonus: Keeping Your Package Updated
- Update
CHANGELOG.md
and bump version inpubspec.yaml
- Use semantic versioning
- Run
dart pub publish
again
🏁 Conclusion
Publishing to pub.dev is easier than you think. With just a few steps—planning, documenting, testing— Flutter package publishing allows you to share your Flutter creations with the world. Start small, iterate, and improve over time. Who knows? Your package could be the next Flutter Favorite ⭐