ComposeAtlas
JETBRAINS & ANDROID STUDIO PLUGIN

See your Compose Navigation graph, straight from your code

No annotations required. ComposeAtlas reads your existing NavHost builders and renders an interactive node-link diagram right inside your IDE tool window.

Install from Marketplace How it works ↓
ComposeAtlas — Navigation Graph Export PNG
// see it in action

Your navigation graph, drawn for you

ComposeAtlas parses your NavHost, your navigate() calls, and your @Preview functions, then lays it out as a diagram you can click through. The code below is what produces the graph next to it — click either side to see the connection.

HomeGraph.kt
NavHost(navController, startDestination = "home") {
    composable("home") { HomeScreen() }
    composable("details") { DetailsScreen() }
    composable("settings") { SettingsScreen() }
}

navController.navigate("details")
navController.navigate("settings")
navController.navigate("payment")  // never registered

Illustrative sample — not this project's actual source.

Home — entry point Home entry point Details — matched preview Details @Preview matched Settings — matched preview Settings @Preview matched Payment — unresolved target Payment unresolved
Entry point
Screen with matched preview
Unresolved navigation target
Home entry point

Detected automatically as the NavHost start destination — no annotation needed.

// how it works

From code to diagram in four steps

01

Scan NavHost builders

ComposeAtlas walks your Kotlin PSI tree, finding every NavHost {} block including nested and modularized graphs.

NavHost(navController,
  startDestination = Routes.Home)
02

Resolve routes & previews

Follows val/const val route constants, sealed/enum classes, and matches @Preview annotations to their destination composables.

@Preview
fun HomeScreenPreview() { … }
03

Render the graph

Builds an interactive node-link diagram with color-coded nodes you can click straight through.

04

Click to navigate

Select a node to highlight it and its edges. Double-click to jump directly to that destination's source in the editor.

// features

Everything your nav graph needs

Built for real Compose projects — handles the patterns that teams actually use in production.

core

Code is the source of truth

Reads your existing NavHost directly — no new annotations, no config files, no duplication of your routing structure.

Deep nesting & modularization

Resolves destinations at any nesting depth, including nav graphs split across per-feature functions in separate modules.

Route constant resolution

Follows val, const val, sealed class properties, enum entries, and looped dynamic routes like bottom-nav Tab.entries iterations.

@Preview auto-matching

Links @Preview and multipreview annotations to their screens automatically. Light-blue nodes confirm at a glance which destinations have a preview.

Color-coded diagram

Green = entry point Light blue = has @Preview Red dashed = unresolved target
UI

Interactive & exportable

Zoom and pan the diagram, drag nodes to rearrange, and export the whole graph as a PNG for docs and PRs.

Jump to source

Double-click any node to navigate directly to that destination's composable registration or matching @Preview source in the editor.

Click → highlight

Select a node to visually highlight it together with all incoming edges — instantly see what leads to any given destination.

// install

Up and running in under a minute

IN YOUR IDE
1 Settings / Preferences
2 Plugins
3 Marketplace
4 Search "ComposeAtlas"
5 Install
6 Restart IDE

Available for Android Studio and IntelliJ IDEA.