React Native component that renders Adobe After Effects animations exported as Lottie JSON or .lottie files natively on iOS, Android and Windows.
seyedmostafahasani/react-native-splash-motion
Lottie and dotLottie splash screens for React Native that play natively from app launch, before the JavaScript bundle loads.
- Stars
- 44
- Forks
- 1
- Open issues
- 0
- Last commit
- 13 hours ago
What is it?
SplashMotion is a React Native library for animated splash screens. Most animated splash approaches render through React, so the animation can only start after the JavaScript bundle has loaded. SplashMotion instead plays a Lottie or dotLottie animation in a native view from the first frame of launch, keeps it running while the bundle loads, and then exits with an optional outro and fade.
A CLI and an Expo config plugin generate the native launch screen, assets and theme at build time, so no manual AppDelegate or MainActivity edits are needed. The app calls hide() when it is ready, with options for waiting until the current loop finishes, playing a named outro marker, enforcing a minimum display time and setting fade duration. Animations can be given a first-frame PNG so the static launch screen matches the animation.
The library requires the React Native New Architecture and react-native-nitro-modules, targets iOS 15+ and Android 7+ (API 24), and is MIT licensed.
Key features
- 01Plays Lottie .json and dotLottie .lottie animations natively.
- 02Starts animation from the first frame of app launch, before the JS bundle loads.
- 03Configures native launch screens automatically via CLI or Expo config plugin.
- 04hide() can wait for the current loop, play an outro marker and fade out.
- 05Optional first-frame PNG for a matching static launch screen.
Use cases
- Showing a branded animated splash in a React Native app without a blank wait during JS startup.
- Adding a polished exit animation that waits for app readiness such as fonts or navigation.
- Using an existing After Effects or LottieFiles animation as a launch screen in an Expo or bare React Native project.
Quick start
- 1
Install the package and Nitro Modules
yarn add react-native-splash-motion react-native-nitro-modules - 2
Generate the splash from your Lottie file
npx splash-motion generate assets/splash.json --background "#0F6E56" - 3
Install iOS pods and rebuild the app
cd ios && pod install - 4
Call SplashMotion.hide() once your app is ready
Things to know
- Requires the React Native New Architecture, which is needed for Nitro Modules.
- Expo projects need a development build because Expo Go cannot load custom native code.
- Minimum versions are iOS 15 and Android 7 (API 24).
- The project is young, with 37 stars and no release history shown in the metadata.
In collections
Topics
FAQ
- What is react-native-splash-motion?
- Lottie and dotLottie splash screens for React Native that play natively from app launch, before the JavaScript bundle loads. SplashMotion is a React Native library for animated splash screens. Most animated splash approaches render through React, so the animation can only start after the JavaScript bundle has loaded. SplashMotion instead plays a Lottie or dotLottie animation in a native view from the first frame of launch, keeps it running while the bundle loads, and then exits with an optional outro and fade.
- Is react-native-splash-motion free to use? What license does it have?
- react-native-splash-motion is open source under the MIT license. Check the license terms before using it in commercial products.
- Is react-native-splash-motion still maintained?
- Actively maintained. The last commit to react-native-splash-motion was on Nov 6, 2026.
- What can I use react-native-splash-motion for?
- Showing a branded animated splash in a React Native app without a blank wait during JS startup. Adding a polished exit animation that waits for app readiness such as fonts or navigation. Using an existing After Effects or LottieFiles animation as a launch screen in an Expo or bare React Native project.
- How do I install react-native-splash-motion?
- Install the package and Nitro Modules: yarn add react-native-splash-motion react-native-nitro-modules Generate the splash from your Lottie file: npx splash-motion generate assets/splash.json --background "#0F6E56" Install iOS pods and rebuild the app: cd ios && pod install Call SplashMotion.hide() once your app is ready
- Where can I get react-native-splash-motion?
- The source code and installation instructions are on GitHub: https://github.com/seyedmostafahasani/react-native-splash-motion
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
An open-source framework for building universal native apps with React that run on Android, iOS, and the web.
Expo/React Native module that exposes one JavaScript API over Apple HealthKit and Android Health Connect.
An unofficial, mobile-first React Native client for the Bangumi anime, manga, and game tracking site, for Android and iOS.
Official AI agent skills from the Expo team that teach coding agents how to build, deploy, upgrade and debug Expo apps.
Agent skills that teach AI coding agents to build native-quality Expo / React Native mobile screens, informed by top-grossing apps' designs.