React Native Gesture Handler

Declarative, native-driven touch and gesture handling for React Native, recognized on the UI thread.

Library
npm
v3.4.0
6,794 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
91 /100 Excellent
Development Activity 96
Maintenance 96
Community 72
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
84 /100 Excellent
Architecture 90
Code Quality 88
Innovation 87
Learning Curve 60

React Native Gesture Handler replaces the JavaScript responder system with a declarative API that recognizes and tracks gestures directly on the native UI thread. Because touch handling never has to round-trip through the JS bridge, interactions stay smooth, deterministic, and responsive even when the JS thread is busy.

The library ships a rich gesture vocabulary — pan, pinch, rotation, tap, long-press, fling, hover, and more — that can be composed together, plus native-backed buttons, touchables, and drop-in replacements for common React Native components. It pairs naturally with Reanimated to build high-performance, fully native touch experiences.

What You Get

  • A declarative Gesture API with GestureDetector for defining and composing recognizers
  • A full set of built-in gestures: pan, pinch, rotation, tap, long-press, fling, hover, native, and manual
  • Native-backed buttons and touchables (RectButton, BorderlessButton, TouchableOpacity, and more)
  • First-class integration with Reanimated for UI-thread-driven animations
  • Cross-platform support across iOS, Android, web, and macOS

Common Use Cases

  • Building swipeable rows, drawers, and bottom sheets
  • Implementing pinch-to-zoom and rotation on images or maps
  • Creating draggable and reorderable list interfaces
  • Wiring smooth, gesture-driven animations together with Reanimated

Under The Hood

Architecture - The library is split between a TypeScript surface in packages/react-native-gesture-handler/src and native implementations in Kotlin (Android), Objective-C++/Objective-C (iOS), and shared C++. The JS layer (src/handlers/gestures) defines composable Gesture objects — pan, pinch, rotation, tap, long-press, fling, hover, native, and manual — that are attached to views through a single GestureDetector. Gesture configuration is serialized down to the native RNGestureHandlerModule (with .web, .windows platform variants), where recognition and tracking happen on the UI thread; results flow back through an event receiver so gestures resolve without a JS-bridge round-trip.

Tech Stack - Written primarily in TypeScript (~58%) with Kotlin, Objective-C++, and C++ for the native modules. The package is built with react-native-builder-bob and tsc, managed in a Yarn 4 workspaces monorepo alongside example apps. It targets the three latest React Native minor releases and integrates optionally with Reanimated for worklet-driven animation.

Code Quality - The codebase is strongly typed with dedicated type files (typeUtils.ts, per-gesture prop types) and platform-specific file resolution (.web.ts, .android.tsx, .windows.ts). A Jest test suite lives under src/__tests__ with mocks in src/__mocks__, and the project enforces ESLint, Prettier, and a circular-dependency check via madge. Native formatting is gated through spotless and clang-format in CI.

API Design - The modern Gesture API is ergonomic and declarative: recognizers are created via a Gesture factory, configured with chained methods, composed with Race/Simultaneous/Exclusive relations, and attached with one GestureDetector. Extensive documentation, a versioned compatibility table, and a runnable example app lower the barrier, though the breadth of gestures, composition rules, and required root-view setup give it a moderate learning curve.

Used by 23 apps in this directory

TypeScript
53%
MIT

MentraOS

AI Development · Developer Tools

2,391

The open source operating system and SDK that lets developers build one app and run it across smart glasses from Even Realities, Vuzix, Mentra Live, and more.

View details
92
Repo Health
77
Technical
66
Dependency
Built with
TypeScript 53%
Java 16%
Updated 6 days ago
Go
56%
Other

Multica

AI Assistants · AI Development

53,682

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

View details
87
Repo Health
83
Technical
67
Dependency
Built with
Go 56%
TypeScript 38%
Updated 6 days ago
TypeScript
85%
GPL 3.0

Notesnook

File Storage · Note Taking · Security

14,822

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

View details
91
Repo Health
84
Technical
60
Dependency
Built with
TypeScript 85%
JavaScript 12%
Updated 6 days ago
Python
64%
Other

Onyx

AI Agents · AI Assistants · Knowledge Management

32,935

Self-hostable AI platform with agentic RAG, 50+ connectors, deep research, code execution, and support for every major LLM provider.

View details
92
Repo Health
83
Technical
68
Dependency
Built with
Python 64%
TypeScript 26%
Updated 6 days ago
TypeScript
96%
MIT

Orca

AI Agents · AI Code Assistants

104,104

An open-source Agent Development Environment that orchestrates fleets of parallel AI coding agents — Claude Code, Codex, Gemini and more — each running in its own isolated git worktree.

View details
84
Repo Health
85
Technical
74
Dependency
Built with
TypeScript 96%
Updated 6 days ago
TypeScript
94%
AGPL 3.0

Papra

Bookmarks Archiving

5,587

Self-hosted document archiving with email ingestion, OCR full-text search, and pluggable storage — store once, find anything.

View details
86
Repo Health
82
Technical
69
Dependency
Built with
TypeScript 94%
Updated 1 weeks ago
TypeScript
98%
AGPL 3.0

paseo

AI Agents · AI Code Assistants

21,830

One unified interface to orchestrate Claude Code, Codex, Copilot, OpenCode, and Pi agents in parallel from desktop, mobile, or the terminal.

View details
88
Repo Health
83
Technical
66
Dependency
Built with
TypeScript 98%
Updated 6 days ago
Python
62%
Apache 2.0

Polar

Developer Tools · Ecommerce · Invoicing Finance

10,410

Open source payments infrastructure that turns software into a business — subscriptions, usage-based billing, digital products, and merchant-of-record compliance in one platform.

View details
90
Repo Health
82
Technical
66
Dependency
Built with
Python 62%
TypeScript 31%
Updated 1 weeks ago
TypeScript
96%
Apache 2.0

rakazo

AI Agents · AI Assistants

5,488

An open-source platform for persistent AI teammates that own their own conversations, memory, routines, and computers — self-hosted, model-agnostic, and available on web, desktop, and mobile.

View details
82
Repo Health
91
Technical
70
Dependency
Built with
TypeScript 96%
Updated 1 weeks ago

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