React Native · react-native-bootsplash

React Native Splash Screen with react-native-bootsplash

Short answer

Install react-native-bootsplash, run its generate command on your logo, register it in MainActivity.kt and on iOS, then call BootSplash.hide({ fade: true }) when the app is ready. Using Expo? Use Expo's splash screen plugin instead.

Checked against react-native-bootsplash in October 2026.

1. Install

bash
npm install --save react-native-bootsplash
cd ios && pod install

2. Generate the assets

bash
npx react-native-bootsplash generate assets/logo.png \
  --platforms=android,ios \
  --background=F5FCFF \
  --logo-width=100 \
  --assets-output=assets/bootsplash
FlagDefaultWhat it does
--platformsandroid,ios,webWhich platforms to write
--background#fffBackground color
--logo-width100Logo width in dp at @1x (about 100 recommended)
--assets-outputassets/bootsplashWhere the generated images go

The logo can be PNG or SVG. Dark mode and brand options need a license key.

3. Android

android/app/src/main/java/com/yourapp/MainActivity.kt
import android.os.Bundle
import com.zoontek.rnbootsplash.RNBootSplash

class MainActivity : ReactActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    RNBootSplash.init(this, R.style.BootTheme)
    super.onCreate(savedInstanceState)
  }
}

With react-native-screens below 4.16, call super.onCreate(null) instead.

4. iOS

ios/YourApp/SceneDelegate.swift
import RNBootSplash

// inside your delegate
override func customize(_ rootView: RCTRootView) {
  super.customize(rootView)
  RNBootSplash.initWithStoryboard("BootSplash", rootView: rootView)
}

React Native 0.88 and later use SceneDelegate.swift. Older versions put the same call in AppDelegate.swift.

5. Hide it

App.tsx
import BootSplash from "react-native-bootsplash";

<NavigationContainer
  onReady={() => {
    BootSplash.hide({ fade: true });
  }}
>
  {/* … */}
</NavigationContainer>

React Native splash screen problems and fixes

You seeWhyFix
Splash never hideshide() is never calledCall BootSplash.hide() when the first screen is ready
Native module not found on iOSPods not installedcd ios && pod install, then rebuild
Old splash after regeneratingNative assets are compiled inRebuild the app; uninstall it on iOS if cached
Wrong status bar colors on AndroidDefault bar styleSet darkContentBarsStyle in BootTheme
Using react-native-splash-screenOld manual linking setupMove to react-native-bootsplash

FAQ

What's the best splash screen library for React Native?

react-native-bootsplash is maintained and supports the latest React Native and the two previous minor versions.

What size should the logo be?

Set the width with --logo-width (about 100 dp). A 1024 PNG or an SVG source is enough.

How do I fade it out?

BootSplash.hide({ fade: true }).

Where do React Native app icons go?

Android: android/app/src/main/res/mipmap-*. iOS: ios/<App>/Images.xcassets/AppIcon.appiconset.