Skip to main content
Customizable screen transitions for React Native. Build gesture-driven, shared element, and fully custom animations with a simple API.

Features

react-native-screen-transitions gives you complete control over how screens animate in your React Native app:

Full Animation Control

Define exactly how screens enter, exit, and respond to gestures with a simple interpolator API

Shared Elements

Create smooth transitions between screens using the Bounds API for seamless element morphing

Gesture Support

Enable swipe-to-dismiss with edge or full-screen activation, plus multi-directional gestures

Stack Progress

Track animation progress across the entire navigation stack for coordinated animations

Ready-Made Presets

Instagram, Apple Music, and X (Twitter) style transitions included out of the box

Snap Points

Create multi-stop sheets (bottom, top, side) with customizable snap positions

When to Use This Library

Choose react-native-screen-transitions when you need animations that go beyond platform defaults:
Use CaseThis LibraryAlternative
Custom transitions (slide, zoom, fade variations)Yes@react-navigation/stack works too
Shared element transitionsYesLimited options elsewhere
Multi-stop sheets (bottom, top, side) with snap pointsYesDedicated sheet libraries
Gesture-driven animations (drag to dismiss, elastic)YesRequires custom implementation
Instagram/Apple Music/Twitter-style transitionsYesCustom implementation
Simple push/pop with platform defaultsOverkill@react-navigation/native-stack
Maximum raw performance on low-end devicesNot ideal@react-navigation/native-stack
Choose this library when you need custom animations, shared elements, or gesture-driven transitions that go beyond platform defaults.Choose native-stack when you want platform-native transitions with zero configuration and maximum performance on low-end Android devices.

What You’ll Build

With react-native-screen-transitions, you can create:
  • Custom screen transitions with slide, zoom, fade, and elastic animations
  • Shared element animations that morph images and components between screens
  • Bottom sheets and side panels with multiple snap points and gesture controls
  • Gesture-driven interactions including swipe-to-dismiss and drag-to-expand
  • App-specific transitions matching popular design patterns from Instagram, Apple Music, and more

How It Works

The library provides three stack navigators that extend React Navigation:
  1. Blank Stack - The default choice for most apps with full animation control
  2. Native Stack - Extends @react-navigation/native-stack with custom transitions
  3. Component Stack - Standalone navigator for embedded flows (experimental)
All animations run on the UI thread using Reanimated worklets, ensuring smooth 60fps performance.

Next Steps

Installation

Install the library and required peer dependencies

Quick Start

Create your first custom transition in minutes