React Navigation

Routing and navigation for React Native and web apps, with stack, tab, and drawer navigators

Library
npm
v7.3.16
24,490stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
95/100Excellent
Development Activity96
Maintenance96
Community88
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
84/100Excellent
Architecture90
Code Quality88
Innovation84
Learning Curve72

React Navigation is the de facto standard routing and navigation library for React Native applications, providing a component-based API for building stack, tab, and drawer navigation patterns that feel native on iOS, Android, and web. It is organized as a monorepo of composable packages (@react-navigation/native, native-stack, bottom-tabs, drawer, stack, and more) so apps only install the navigators they actually use.

The library handles deep linking, URL-based navigation on web, state persistence, and TypeScript-typed route params out of the box, making it the default choice recommended by Expo and the wider React Native ecosystem for anything beyond a single-screen app.

What You Get

  • Native-feeling stack navigation (native-stack) backed by platform APIs (UINavigationController/Fragment) for authentic transitions and performance
  • Bottom tab, material top tab, and drawer navigators that compose with any stack navigator
  • Deep linking and URL-based routing configuration shared between native and web builds
  • Full TypeScript support with typed navigation props and route params via generics
  • Static navigation API (createStaticNavigation) for declaring the entire navigation tree in one place with less boilerplate
  • DevTools package for inspecting and debugging navigation state during development

Common Use Cases

  • Building the primary tab-bar + stack navigation shell of a mobile app (e.g. Home/Search/Profile tabs, each pushing detail screens)
  • Implementing authentication flows that swap between an auth stack and an app stack based on login state
  • Supporting deep links and universal links that route directly to a specific screen and params
  • Sharing a single navigation structure between a React Native app and its React Native Web build

Under The Hood

Architecture — The repo is a pnpm/lerna monorepo under packages/, with @react-navigation/core implementing the framework-agnostic navigation state machine (routers, actions, state persistence) and @react-navigation/native layering React Native-specific concerns (linking, back-button handling, container component) on top via NavigationContainer. Navigator packages (native-stack, bottom-tabs, drawer, material-top-tabs, stack) each wrap either a native platform primitive (native-stack uses react-native-screens bindings to native view controllers) or a pure-JS/Reanimated implementation (stack), all consuming the shared @react-navigation/routers package for route-state transitions. Tech Stack — Written in TypeScript (98%+ of the codebase), built with a Babel-based build pipeline via Bob/lerna, tested with Jest and React Native Testing Library, and using react-native-screens/react-native-safe-area-context as peer dependencies for native-stack. The monorepo uses pnpm workspaces and lefthook for git hooks, with an example app under example/ used for manual and Detox-driven E2E testing. Code Quality — Each package carries a src/__tests__ directory with substantial unit test coverage (e.g. native’s tests cover linking, deep-link parsing, static navigation, and hooks like useLinkBuilder); the code favors small, well-named hooks (useLinkTo, useScrollToTop, useBackButton) and platform-specific file extensions (.native.tsx) to isolate platform branching cleanly. API Design — The public API is idiomatic React (components + hooks), with NavigationContainer as the single native-specific wrapper and everything else composed declaratively; TypeScript generics for typed params add some upfront learning curve but pay off with autocomplete and compile-time route safety, and the newer static API (createStaticNavigation) further reduces boilerplate for straightforward navigation trees.

Used by 16 apps in this directory

TypeScript
95%
Apache 2.0

AionUi

AI Agents · Productivity

32,102

Free, open-source Cowork desktop app that unifies Claude Code, Codex, Gemini CLI, and 20+ AI agents into a single platform with multi-agent teams, 24/7 cron automation, and zero-config built-in agent.

View details
88
Repo Health
76
Technical
66
Dependency
Built with
TypeScript95%
Updated today
TypeScript
45%
Other

Convex Backend

Developer Tools · Databases

12,394

Open-source reactive database that lets developers build live-updating apps with pure TypeScript, strong consistency, and real-time subscriptions—no separate API layer required.

View details
88
Repo Health
82
Technical
70
Dependency
Built with
TypeScript45%
Rust43%
Updated today
TypeScript
71%
Other

highlight.io

Developer Tools · Analytics · Monitoring

9,367

Open-source full-stack monitoring that unifies session replay, error tracking, logging, and distributed tracing so you can stop context-switching between tools.

View details
69
Repo Health
78
Technical
66
Dependency
Built with
TypeScript71%
Go16%
Updated yesterday
TypeScript
74%
Apache 2.0

Jitsi Meet

Team Chat · Collaboration · Video Conferencing

29,767

Open-source, end-to-end encrypted video conferencing you can self-host or embed into any web or mobile app.

View details
96
Repo Health
85
Technical
70
Dependency
Built with
TypeScript74%
JavaScript10%
Updated yesterday
Python
60%
MIT

LibrePhotos

File Storage

8,044

Self-hosted photo library with AI-powered face recognition, semantic search, and automatic event albums — no cloud required.

View details
82
Repo Health
78
Technical
67
Dependency
Built with
Python60%
TypeScript37%
Updated 3 days ago
TypeScript
93%
AGPL 3.0

Linkwarden

Bookmarks Archiving · Knowledge Management

19,527

Self-hosted collaborative bookmark manager that captures full-page archives, enables annotation, and keeps your knowledge accessible forever.

View details
90
Repo Health
72
Technical
66
Dependency
Built with
TypeScript93%
Updated today
Go
54%
Other

Multica

AI Assistants · AI Development

46,769

Turn coding agents into real teammates — assign issues, track progress, and compound reusable skills across a vendor-neutral, self-hosted platform.

View details
86
Repo Health
83
Technical
70
Dependency
Built with
Go54%
TypeScript41%
Updated today
TypeScript
85%
GPL 3.0

Notesnook

Note Taking · File Storage · Security

14,433

End-to-end encrypted, open-source note-taking where your data stays yours — even from the server.

View details
91
Repo Health
84
Technical
66
Dependency
Built with
TypeScript85%
JavaScript12%
Updated today
TypeScript
92%
Apache 2.0

OneUptime

Monitoring

7,481

The complete open-source observability platform that replaces PagerDuty, Datadog, Sentry, and StatusPage with a single self-hostable system.

View details
90
Repo Health
81
Technical
66
Dependency
Built with
TypeScript92%
Updated today

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search