Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. React Native
  3. react-native-animatable

react-native-animatable

MITJavaScriptv1.4.0

A declarative library providing a standard set of easy-to-use animations and transitions for React Native apps.

GitHubGitHub
9.9k stars693 forks0 contributors

What is react-native-animatable?

React Native Animatable is a library that provides a comprehensive set of pre-built animations and declarative transitions for React Native apps. It simplifies adding complex motion to mobile applications, enabling smooth, performant visual feedback to enhance user experience. The library offers both declarative and imperative APIs, along with tools for creating custom animations.

Target Audience

React Native developers who need to implement animations in mobile apps without building them from scratch, particularly those looking for a component-based, easy-to-integrate solution. It's suitable for developers at various skill levels, from those needing quick, pre-built effects to those requiring advanced customization.

Value Proposition

Developers choose React Native Animatable for its extensive library of ready-to-use animations inspired by Animate.css, combined with a flexible API that supports both simple declarative usage and fine-grained imperative control. Its unique selling point is the ability to apply animations directly via JSX props, making animations as straightforward as applying styles, while still offering native driver support for performance.

Overview

Standard set of easy to use animations and declarative transitions for React Native

Use Cases

Best For

  • Adding attention-seeking animations like bounce, pulse, or shake to UI elements in React Native apps.
  • Implementing entrance and exit animations (e.g., fadeIn, slideOut) for screens or components during navigation or state changes.
  • Creating looping animations, such as infinite pulses or alternating motions, for loading indicators or continuous effects.
  • Building custom animations using a keyframe-based schema when pre-built options are insufficient.
  • Transitioning specific style properties (e.g., fontSize, opacity) with spring or timing functions declaratively.
  • Optimizing animation performance with optional native driver support and interaction handling.

Not Ideal For

  • Projects using React Native versions below 0.15, due to dependencies on StyleSheet.flatten for generic transitions
  • Applications requiring complex physics-based or gesture-driven animations beyond pre-defined keyframes
  • Teams prioritizing minimal dependencies by sticking exclusively to React Native's built-in Animated API

Pros & Cons

Pros

Extensive Pre-built Animations

Offers over 60 ready-to-use animations inspired by Animate.css, including bounce, fade, and slide effects, saving significant development time as shown in the GIF examples.

Dual API Flexibility

Supports both declarative animations via simple JSX props and imperative control with refs and promises, allowing for easy integration or programmatic management as demonstrated in the usage examples.

Custom Keyframe Support

Enables creation and registration of custom animations using a keyframe-based schema, providing flexibility for tailored motion effects beyond the pre-built set.

Performance Optimization Options

Includes optional native driver support and interaction handling to improve smoothness, though it requires explicit enabling via the useNativeDriver prop.

Cons

React Native Version Lock

Requires React Native 0.15 or later for full functionality, specifically for generic transitions relying on StyleSheet.flatten, which can hinder legacy project adoption.

Suboptimal Default Performance

Native driver is disabled by default (useNativeDriver: false), potentially leading to janky animations if developers overlook this setting, as noted in the props table.

Color Syntax Restriction

Limits color transitions to rgba() syntax only, excluding common formats like hex or named colors, which may complicate styling workflows.

Frequently Asked Questions

Quick Stats

Stars9,948
Forks693
Contributors0
Open Issues163
Last commit2 years ago
CreatedSince 2015

Tags

#animation#transition#frontend#react-native#declarative-ui#ui-components#javascript#mobile-development#performance#transitions

Built With

J
JavaScript
R
React Native

Included in

React Native35.6k
Auto-fetched 1 day ago

Related Projects

react-native-reanimatedreact-native-reanimated

React Native's Animated library reimplemented

Stars10,788
Forks1,467
Last commit1 day ago
react-native-interactablereact-native-interactable

Experimental implementation of high performance interactable views in React Native

Stars5,181
Forks500
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub