docs

Route Inspector

+
UniversalWorks with Expo & React Native CLI

This tool works with both Expo and React Native CLI projects. Just install and go.

Inspect captured navigation events, route parameters, and the stack available from your navigator. Use the timeline to compare where navigation started with the screen that became active.

A route duration is time since the previous navigation event, not a measurement of screen render time. The demo uses a mock session.

every screen, in 79 seconds

Explore example navigation events

1 / 6

This interactive tool uses generated navigation events. In your app, configure the supported router integration to capture paths and parameters.

9:41
Loading live demo…
Mock navigations, real component — the same code that renders in your app. Step through the tour, or just start tapping.

Supported Libraries

Expo Router

File-based routing for Expo

React Navigation

Stack, tab, and drawer navigation

Auto-detection — The Route Inspector automatically detects which navigation library you're using and adapts accordingly.


Installation

npm install @buoy-gg/route-events

That's it. The Route Inspector auto-detects your navigation setup and appears in your FloatingDevTools menu.


What You Can Do

Sitemap

Browse all app routes

Timeline

Navigation event history

Navigate

Jump to any route

Search

Filter routes instantly

Copy

Export paths to clipboard

Stats

Route counts by type


Route Types

Static

Fixed path like /about

Dynamic

Parameterized like /user/[id]

Catch-All

Matches any path [...slug]

Index

Default route for a directory

Layout

Shared UI wrapper

Group

Organizational folders (auth)


Event Timeline

Every navigation is tracked with:

  • Path — Where you navigated to
  • Params — Route parameters passed
  • Timestamp — When it happened
  • Duration — Time since previous navigation

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. This matches how events open in the Events tool.


What It Can't Do

It knows the routes your navigator declares. The sitemap is built from your Expo Router file tree or your React Navigation config, so a screen reached only by an imperative push with an object payload appears in the event stream, but its params are not something the sitemap can predict ahead of time.

Jumping to a route is navigation, not authorisation. Go to route performs the same navigation your code would. It does not bypass a guard — which is exactly what makes it useful for testing that the guard works.

What's Next


FAQ

How do I inspect the navigation stack in React Native?

Install @buoy-gg/route-events and open Routes — the Stack tab shows the live stack with route names and params, updating as you navigate.

Does it work with Expo Router?

Yes — it's built for Expo Router: the sitemap, stack, and event stream all reflect your file-based routes.

Web support

Browser History API and hash changes feed the shared route history. Register known paths and the framework router adapter for route selection and navigation. Import it from the package's /web entry (7.0.41 or later). See Web installation for registration, dependencies, and browser boundaries.

Native iOS (Swift)

Route Inspector is also part of Buoy for Swift for SwiftUI and UIKit apps. Setup and what the Swift version covers are in the Swift tools guide.

Angular

See the app's routes in the log. Go asks for params. It uses Angular Router. The sitemap gets real app paths. See the setup steps.

Solid

Inside <Router>, the log shows route names and params. Go uses Solid Router. Pass routes to <Buoy /> to list every page. See the setup steps.