// the find
oblador/react-native-vector-icons
Customizable Icons for React Native with support for image source and full styling.
The de facto standard icon library for React Native, shipping 15+ icon sets (Ionicons, MaterialDesignIcons, FontAwesome, Lucide, etc.) as separate npm packages you install à la carte. It wraps native font rendering so icons scale cleanly at any size, with full Text-component styling. Anyone building a React Native app who needs icons reaches for this first — 17k stars says it's earned that position.
The per-package split introduced in v11 is the right call: you only ship the font files you actually use, so a project using only Ionicons doesn't bundle the 7,000-icon MaterialDesignIcons TTF. The static vs dynamic import distinction (e.g. `/static` subpath) gives you real control over whether fonts load at build time or runtime — useful when targeting Expo Go vs development builds where that tradeoff actually matters. Codemod tooling for v11 and v12 migrations exists and is tested, which is rare for a library of this age. FontAwesome Pro support is properly handled via bring-your-own-font-file without baking the license into the package.
Icon fonts are a decade-old technique — they can't do multicolor icons natively, and the duotone FontAwesome packages paper over this with awkward workarounds. Several bundled icon sets (Entypo, EvilIcons, SimpleLineIcons, Zocial) are explicitly marked 'no longer maintained upstream', meaning their contents are frozen at years-old snapshots and you're shipping dead weight if you use them. The `getImageSourceSync` API is blocking on the JS thread and the docs acknowledge it 'might incur performance penalties' without giving you any real guidance on when it becomes a problem. Web support exists but is clearly second-class — there's a separate setup guide and the feature is footnoted rather than first-class, which will bite you if you're targeting React Native Web.