Flutter Gems is a curated list of 7250+ useful Dart & Flutter packages that are categorized based on functionality.
Top Flutter Dio packages
Last updated: May 18, 2026
dio is the most powerful and widely-used HTTP networking client for Dart and Flutter. It provides advanced features out of the box that the standard http package lacks.
Best Practices for using Dio
- Interceptors: Leverage Dio's powerful Interceptors to handle global tasks like injecting Auth Tokens, logging requests/responses to the console during debugging, and refreshing expired JWT tokens seamlessly.
- Cancel Tokens: If a user navigates away from a screen before a large download or API request finishes, use Dio's
CancelTokento abort the network request and save bandwidth and battery. - BaseOptions: Configure a singleton
Dioinstance withBaseOptionsto set global defaults for your API, such asbaseUrl, standard headers, and globalconnectTimeout/receiveTimeoutvalues.
The complete list of Dio add-ons, interceptors, and complementary networking packages is provided below.
dio
👍 8.3K ⬇️ 2.9M
Dart 3 compatibleMaintenance Status: Good
A powerful HTTP networking package, supports Interceptors, Aborting and canceling a request, Custom adapters, Transformers, etc.
retrofit
👍 2.1K ⬇️ 446.4K
Dart 3 compatibleMaintenance Status: Good
retrofit.dart is an dio client generator using source_gen and inspired by Chopper and Retrofit.
pretty_dio_logger
👍 908 ⬇️ 296.3K
Dart 3 compatibleMaintenance Status: Average
Pretty Dio logger is a Dio interceptor that logs network calls in a pretty, easy to read format.
dio_cache_interceptor
👍 432 ⬇️ 205K
Dart 3 compatibleMaintenance Status: Good
Dio HTTP cache interceptor with multiple stores respecting HTTP directives (or not).
dio_smart_retry
👍 306 ⬇️ 147.1K
Dart 3 compatibleMaintenance Status: Average
Retry library for Dio and Dio package made with love. By default, the request will be retried only for appropriate retryable http statuses.
http_mock_adapter
👍 185 ⬇️ 244.6K
Dart 3 compatibleMaintenance Status: Poor
A simple to use mocking package for Dio intended to be used in tests. It provides various types and methods to declaratively mock request-response communication.
vexana
👍 294 ⬇️ 662
Dart 3 compatibleMaintenance Status: Average
Manage your network layer with dio. You will be able to use it very easily network operations.
dio_http_cache
👍 247 ⬇️ 712
Dart 3 compatibleMaintenance Status: Poor
http cache lib for Flutter dio like RxCache.It use sqflite as disk cache,and google/quiver-dart/LRU strategy as memory cache.
dio_cookie_manager
👍 172 ⬇️ 91.4K
Dart 3 compatibleMaintenance Status: Good
A cookie manager combines cookie_jar and dio, based on the interceptor algorithm.
talker_dio_logger
👍 143 ⬇️ 114.8K
Dart 3 compatibleMaintenance Status: Good
Lightweight and customizable dio http client logger on talker base
sentry_dio
👍 46 ⬇️ 214.6K
Dart 3 compatibleMaintenance Status: Good
An integration which adds support for performance tracing for the Dio package.
native_dio_adapter
👍 64 ⬇️ 149.1K
Dart 3 compatibleMaintenance Status: Good
A client for dio which makes use of cupertino_http and cronet_http to delegate HTTP requests to the native platform.
fresh_dio
👍 167 ⬇️ 16.6K
Dart 3 compatibleMaintenance Status: Good
An http interceptor for token refresh. Fresh is built on top of package:dio and manages authentication tokens transparently.
dio_http2_adapter
👍 57 ⬇️ 106.7K
Dart 3 compatibleMaintenance Status: Good
An adapter that combines HTTP/2 and dio. Supports reusing connections, header compression, etc.
awesome_dio_interceptor
👍 62 ⬇️ 12.2K
Dart 3 compatibleMaintenance Status: Average
A simple dio log interceptor (mainly inspired by the built-in dio LogInterceptor), which has coloring features and json formatting so you can have a better readable output.
gql_dio_link
👍 34 ⬇️ 39.3K
Dart 3 compatibleMaintenance Status: Good
Similar to gql_http_link, gql_dio_link is a GQL Terminating Link to execute requests via Dio using JSON
curl_logger_dio_interceptor
👍 40 ⬇️ 26.9K
Dart 3 compatibleMaintenance Status: Good
Get your http requests printed as curl command in your terminal. Share them easily with your colleagues and import them in Postman!
dio_log
👍 61 ⬇️ 382
Dart 3 compatibleMaintenance Status: Good
A plug-in that captures requests and views them within the application, providing functions such as request replication and JSON expansion
oauth_dio
👍 58 ⬇️ 610
Dart 3 compatibleMaintenance Status: Poor
A customizable oauth client with token storage and interceptors for dio
dio_http_formatter
👍 51 ⬇️ 3.5K
Dart 3 compatibleMaintenance Status: Good
A Dio interceptor for pretty printing the HTTP request/response to be printed in the console for easier debugging
firebase_performance_dio
👍 20 ⬇️ 24.5K
Dart 3 compatibleMaintenance Status: Average
Dio Firebase performance monitoring.
flutter_pretty_dio_logger
👍 25 ⬇️ 13.6K
Dart 3 compatibleMaintenance Status: Poor
Show the correct json format, cUrl, easy to copy and use for many purposes.
dio_http_cache_lts
👍 31 ⬇️ 1.3K
Dart 3 compatibleMaintenance Status: Average
It's just a maintainance version of the dio_http_cache package to be compatible with the latest dio package
dio_refresh_bot
👍 30 ⬇️ 104
Dart 3 compatibleMaintenance Status: Average
Dio interceptor which makes refresh token mechanism simple, flexible and reactive.
dio_retry_plus
👍 29 ⬇️ 961
Dart 3 compatibleMaintenance Status: Average
A plugin for dio that retries failed requests.
retry_bot
👍 23 ⬇️ 16
Dart 3 compatibleMaintenance Status: Poor
Dio interceptor Retry which makes retrying API Call When getting a timeout.
flutter_loggy_dio
👍 10 ⬇️ 10.3K
Dart 3 compatibleMaintenance Status: Poor
Extension for loggy. Includes interactor and pretty printer for Dio.
flutter_smartdio
👍 16 ⬇️ 74
Dart 3 compatibleMaintenance Status: Good
A transport-agnostic HTTP wrapper that enhances ANY HTTP client with offline caching, request queuing, retry mechanisms, and comprehensive logging.
http_services
👍 12 ⬇️ 92
Dart 3 compatibleMaintenance Status: Average
A Dart package based on Dio that provides base models to handle HTTP services requests.
instabug_dio_interceptor
👍 3 ⬇️ 6.6K
Dart 3 compatibleMaintenance Status: Good
This package is an add on to instabug_flutter. It intercepts any requests performed with Dio Package and sends them to the report that will be sent to the dashboard.
stash_dio
👍 7 ⬇️ 206
Dart 3 compatibleMaintenance Status: Poor
Dio extension for the stash API. Provides an interceptor that uses stash as a caching layer for Dio
dio_speed_tracker
👍 4 ⬇️ 29
Dart 3 compatibleMaintenance Status: Average
A lightweight and extensible Dio interceptor for monitoring real-world network speed in Mbps, based on actual HTTP download performance
dio_interceptors
👍 14 ⬇️ 28
Maintenance Status: Poor
Implements interceptors for you use on Dio package.
