Skip to main content

Installation

Install rn-iconify and its peer dependencies.

Requirementsโ€‹

  • React Native 0.60.0+ (Old Architecture)
  • React Native 0.72.0+ (New Architecture / TurboModules)
  • iOS 13.0+
  • Android API 21+

npmโ€‹

npm install rn-iconify react-native-svg react-native-mmkv

yarnโ€‹

yarn add rn-iconify react-native-svg react-native-mmkv

pnpmโ€‹

pnpm add rn-iconify react-native-svg react-native-mmkv

iOS Setupโ€‹

After installing, run pod install:

cd ios && pod install

Android Setupโ€‹

No additional setup required! Android auto-links the native modules.

Expoโ€‹

For Expo projects, you need a development build (Expo Go is not supported due to native dependencies).

npx expo install rn-iconify react-native-svg react-native-mmkv

Then create a development build:

npx expo prebuild
npx expo run:ios
# or
npx expo run:android
Expo Go Not Supported

rn-iconify requires native modules (react-native-mmkv) that are not available in Expo Go. You must use a development build or bare workflow.

Peer Dependenciesโ€‹

PackageVersionPurpose
react-native-svgโ‰ฅ13.0.0SVG rendering
react-native-mmkvโ‰ฅ3.0.0Fast native cache (JSI)

Verify Installationโ€‹

Create a simple test component:

import { Mdi } from 'rn-iconify';
import { View } from 'react-native';

export default function App() {
return (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Mdi name="check-circle" size={48} color="green" />
</View>
);
}

If you see a green checkmark, you're all set!

Troubleshootingโ€‹

iOS: "RNIconify" module not foundโ€‹

Run pod install again:

cd ios && pod install --repo-update

Android: Build fails with MMKVโ€‹

Make sure you have the latest react-native-mmkv:

npm install react-native-mmkv@latest

Metro: Unable to resolve moduleโ€‹

Clear Metro cache:

npx react-native start --reset-cache

Next Stepsโ€‹