Manage alternate app icons programmatically in Expo and React Native. Switch icons dynamically for iOS and Android without ejecting your project.
- Programmatically change your app icon
- Supports iOS and Android
- Easy setup with Expo plugins
bunx expo install @temmiland/expo-extra-app-iconsPlace all your alternate icon files in a folder (e.g., assets/images/app-icons).
Add the plugin to your app.json under the plugins array:
💡 Tip: The plugin fully manages your app icon, so make sure you set one with (
isMainIcon: true).
bunx expo prebuild --cleanbunx expo run:ios
bunx expo run:androidimport { setAppIcon, getAppIcon } from '@temmiland/expo-extra-app-icons';
const [currentIcon, setCurrentIcon] = useState(getAppIcon());
setAppIcon(props.iconName);
setCurrentIcon(props.iconName);If you like this project and want to support it:
- ⭐ Star it on GitHub
- 🔄 Share it with friends or colleagues
- 🐞 Report issues or suggest features
- 💡 Contribute code or improvements
