Flutwire

Network inspector for Flutter: your app’s HTTP calls on a real phone, to open in full, edit and send again.

pubspec.yamlflutwire: ^1.0.2
Flutwire

The video

The notification shows the latest calls. A tap opens the inspector, where a call can be read as a JSON tree. The video lasts forty seconds and was recorded on an Android emulator.

The product

Flutwire records the HTTP traffic of your Flutter app and displays it in an interface accessible straight from the notification shade. No Wi-Fi proxy, no certificates to install.

Flutwire is a network inspector for Flutter. It solves the problem of invisible network calls on physical devices by operating entirely from your phone. Traditionally, inspecting the traffic of a running app requires complex proxies and local certificates. With Flutwire, you simply add a single instruction await Flutwire.init() in the main function to automatically intercept every outgoing call from dart:io, natively covering clients like Dio, Chopper, or the base HTTP adapter. Every completed call is written to disk as soon as it ends. This ensures that the notification survives even a brutal closure of the app. Tapping the notification gives access to the full inspector, where you can explore response times, headers, cookies, and decoded bodies, including structured formats like JSON and Protobuf. Three satellite modules allow Flutwire to hook into isolated traffic, including Firebase callable functions. Before writing to disk, it automatically masks authorisation headers and cookies. More importantly, in a release build, the entire package remains inactive, logging nothing and triggering no notifications.

Gallery

A closer look

Flutwire - immagine 11 / 8
Scope
Open sourceFlutterDartDebugNetwork
Approach

What we did

01Development of the interception architecture in Dart
02Design of the internal inspector interface in Flutter
03Integration of native channels for system notifications
04Drafting and maintenance of the packages on pub.dev
Highlights
+Native capture for the entire dart:io tree
+Request saved to disk against app crashes
+Official packages for Firebase Callable and Web
+In release builds it records and writes nothing
+Automatic masking of sensitive headers
Results
160 points out of 160 for the four packages in the ecosystem
Recording functional even after process closure
Protobuf and JSON payload inspection with integrated text search
Resources
Open on GitHubVisit the siteRepository

Like what we build?

Let us talk about your next project