Network inspector
Every call from Dio, http and HttpClient, with headers, bodies, sizes and timing. Serverpod calls show by endpoint and method.
Try it in the demoxRay is a desktop app for Flutter developers, QA and product. See every network call, log, stored value and file of a debug build, live, on one timeline. On macOS, Windows and Linux.
Needs an impaktfull account and approved alpha access. Free during the alpha.
A working copy of the xRay desktop app connected to a sample app. Click around: open network calls, read logs, edit stored values, browse the database and scrub the timeline.
This is the real xRay interface with sample data. Click around, or take the tour.
One window for what your app sends, logs and stores.
Every call from Dio, http and HttpClient, with headers, bodies, sizes and timing. Serverpod calls show by endpoint and method.
Try it in the demoOperations by name, errors returned with a 200, and WebSocket messages as they arrive. Protobuf and gRPC-web decoded with your own .proto files.
Try it in the demoEvery log with its level, logger, error and stack trace. Search, filter, expand.
Try it in the demoChange SharedPreferences and secure storage while the app runs. Add keys and edit JSON in place.
Try it in the demoCalls, logs and storage changes on one axis, so you see what happened around a bug.
Try it in the demoApps running xRay on your network show up on their own. Open several side by side.
Try it in the demoBrowse the app's documents and caches, preview what's inside, and save or delete files.
Try it in the demoExport a session as a .xray file or HAR, or one call as cURL or Markdown, so a teammate can reproduce the bug.
Try it in the demoChange appearance, locale, text scale and animations, open deep links, send simulated pushes and flip feature flags.
Try it in the demoTraffic is encrypted and authenticated, so nobody else on the Wi-Fi can read or change it. Enter the pairing code your app prints once, or use a team password or trusted desktops.
Tokens and cookies are masked in your app before they are stored. Your redaction rules apply to every export.
Press ⌘K to search every inspector and run any action. xRay speaks 18 languages, so the whole team feels at home.
Try it in the demoBrowse SQLite tables from sqflite and drift and your Hive boxes, run SQL and fix a row while you test. Read-only unless you allow writes.
Try it in the demoClaude Code, Cursor and VS Code can read what xRay sees and, when you allow it, act on the app. It runs on your computer only, and your redaction rules always apply.
Set it up in the docsAdd xray_inspector to your Flutter app and start the inspector in debug builds.
The inspector runs inside your app on your local network. Release builds stay untouched.
The desktop app finds your app and connects with a pairing code. What your app captures goes straight to your computer and never leaves your network.
Runs on your computer. Sign in with your impaktfull account once your alpha access is approved.
Drop your email to request access, or ask from the xRay app. We'll email you once you're approved; then sign in to the app with the same email.
We use your email address only to review your request and to email you the outcome. See our Privacy Policy.
Add xray_inspector to your Flutter app, start the inspector in debug builds and connect with the pairing code it prints. The docs cover setup, every package and the desktop app.
import 'package:flutter/foundation.dart';import 'package:xray_inspector/xray_inspector.dart'; if (!kReleaseMode) { final network = XRayNetworkInspector( enableHttpOverride: true, ); final logs = XRayLogInspector(); await XRayInspectorServer( config: XRayInspectorServerConfig( inspectors: [network, logs], ), ).start(); // Prints a pairing code to enter once.}