Skip to main content

React Native Alternate App Icon | App Icon Changer

react-native-alternate-app-icon is a high-performance App Icon Changer for React Native for changing your app icon at runtime on iOS and Android. It exposes a type-safe JavaScript API backed by native Swift and Kotlin implementations via Nitro Modules.

Use it as a dynamic app icon changer for seasonal themes, event-based branding, user personalization, or any scenario where you want alternate icons without shipping a new build.

Why use this App Icon Changer?

  • Dynamic Icon Switching: Change the launcher icon while the app is installed.
  • High Performance: Powered by Nitro Modules for near-instant native communication.
  • Full Control: Programmatically set, reset, and query available icons.
  • Cross-Platform: Unified API for both iOS and Android.

Key features

FeatureDescription
Runtime icon switchingChange the launcher icon while the app is installed
Cross-platform APISame setIcon, getActiveIcon, and related functions on iOS and Android
Nitro-poweredFast native bindings through react-native-nitro-modules 0.32.0
New ArchitectureWorks with Fabric and TurboModules
Event-driven UXSwap icons for holidays, promotions, or user preferences

:::info Version requirements Install react-native-nitro-modules@0.32.0 alongside this package. See Compatibility for supported versions. :::

Quick start

bun add react-native-alternate-app-icon react-native-nitro-modules@0.32.0
cd ios && pod install

Then configure alternate icons for your platform:

import { setIcon, getActiveIcon } from 'react-native-alternate-app-icon';

await setIcon('AlternativeIcon');
const active = await getActiveIcon();

What's next?

  1. Installation — peer dependencies and project requirements
  2. Compatibility — package, Nitro Modules, React Native, and Node versions
  3. API reference — full method documentation
  4. Example app — working reference project in the library repo