All but React Native are in beta.
All but React Native are in beta.

Inspect the routes and navigation events exposed by your registered go_router instance. Navigate between two screens, then check the from/to paths and parameters in the timeline.

every screen, in 79 secondsThe film and the demo show the React Native tool, and the demo uses mock data. Use the Flutter setup and feature descriptions below for supported behavior; the demo does not establish Flutter feature parity.
This interactive tool uses generated navigation events. In your app, configure the supported router integration to capture paths and parameters.
Captures navigation from go_router — the events timeline, route sitemap, and navigation-stack view, using the registered Flutter router.
flutter pub add buoy_routesAdd BuoyRouteObserver.instance to your router's observers and hand the router to registerBuoyRoutes so the sitemap and jump-to-route work:
import 'package:flutter/foundation.dart';
import 'package:flutter/widgets.dart';
import 'package:buoy_routes/buoy_routes.dart';
import 'package:go_router/go_router.dart';
final _router = GoRouter(
observers: [BuoyRouteObserver.instance],
routes: [ /* your existing GoRoute definitions */ ],
);
void main() {
if (kDebugMode) registerBuoyRoutes(router: _router);
runApp(const MyApp());
}
import 'package:flutter/foundation.dart';
import 'package:flutter/widgets.dart';
import 'package:buoy_routes/buoy_routes.dart';
import 'package:go_router/go_router.dart';
final _router = GoRouter(
observers: [BuoyRouteObserver.instance],
routes: [ /* your existing GoRoute definitions */ ],
);
void main() {
if (kDebugMode) registerBuoyRoutes(router: _router);
runApp(const MyApp());
}
Use this same router in MaterialApp.router(routerConfig: _router). The snippet assumes your existing route definitions and MyApp; mount BuoyDevTools through the app builder as shown in Installation. Route jumps still run your redirects and authorization checks.
Browse all app routes
Navigation event history
Jump to any route
Filter routes instantly
Export paths to clipboard
Route counts by type
Every navigation is tracked with:
Tap any event to open its detail page — the full route template, from/to paths, timing, segments, and params, all copyable, plus a Go to route action to jump straight there.
Add BuoyRouteObserver.instance to your router's observers and pass the router to registerBuoyRoutes — you get the route sitemap, the live navigation stack, jump-to-any-screen, and a real-time stream of navigation events on the device.
go_router — the events timeline, route sitemap, and navigation-stack view, using the registered Flutter router.