[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-3790":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},3790,"react-native-vector-icons","oblador\u002Freact-native-vector-icons","oblador","Customizable Icons for React Native with support for image source and full styling.","https:\u002F\u002Foblador.github.io\u002Freact-native-vector-icons\u002F",null,"TypeScript",17872,2101,194,9,0,3,8,22,13,44.97,"MIT License",false,"master",true,[27,28,29,30],"icon","icon-pack","react-native","ui","2026-06-12 02:00:54","![Vector Icons for React Native](https:\u002F\u002Fcloud.githubusercontent.com\u002Fassets\u002F378279\u002F12009887\u002F33f4ae1c-ac8d-11e5-8666-7a87458753ee.png)\n\n[![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@react-native-vector-icons\u002Fcommon.svg)](https:\u002F\u002Fnpmjs.com\u002Fpackage\u002F@react-native-vector-icons\u002Fcommon) [![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002F@react-native-vector-icons\u002Fcommon.svg)](https:\u002F\u002Fnpmjs.com\u002Fpackage\u002F@react-native-vector-icons\u002Fcommon)\n\n# React Native Vector Icons\n\nElevate your React Native applications with the power of customizable vector\nicons. Ideal for embellishing buttons, logos, and navigation or tab bars, these\nicons seamlessly integrate into your projects. Their versatility makes\nextension and styling effortless.\n\nFor the integration of `.svg` files natively, you can explore [`react-native-vector-image`](https:\u002F\u002Fgithub.com\u002Foblador\u002Freact-native-vector-image).\n\n> [!TIP]\n> If you are still using the old single package `react-native-vector-icons` visit \u003Chttps:\u002F\u002Fgithub.com\u002Foblador\u002Freact-native-vector-icons\u002Ftree\u002F10.x>. To migrate to the package-per-icon-set approach, see [MIGRATION.md](MIGRATION.md).\n\n## Table of Contents\n\n- [Sponsorship](#sponsorship)\n- [Available Icon Sets](#available-icon-sets)\n- [Installation](#installation)\n- [Setup](#setup)\n- [Icon Component](#icon-component)\n- [Usage as PNG Image\u002FSource Object](#usage-as-png-imagesource-object)\n- [Multi-Style Fonts](#multi-style-fonts)\n- [Custom Fonts](#custom-fonts)\n- [Animation](#animation)\n- [Dynamic icon font loading](#dynamic-icon-font-loading)\n- [Usage Examples](#usage-examples)\n- [Changelog](https:\u002F\u002Fgithub.com\u002Foblador\u002Freact-native-vector-icons\u002Freleases)\n- [License](#license)\n\n## Sponsorship\n\nShould you find this library beneficial, kindly contemplate the option of\n[sponsoring](https:\u002F\u002Fgithub.com\u002Fsponsors\u002Foblador).\n\n## Available Icon Sets\n\n[Explore all icons](https:\u002F\u002Foblador.github.io\u002Freact-native-vector-icons\u002F).\n\nRNVI comes with the following supported icons. You can [search NPM](https:\u002F\u002Fwww.npmjs.com\u002Fsearch?q=keywords%3Areact-native-vector-icons-icon) for third party icons.\n\n### Actively maintained\n\n- [`AntDesign`](https:\u002F\u002Fant.design\u002Fcomponents\u002Ficon) from Ant Group (v4.4.2 with _449_ icons)\n- [`Feather`](http:\u002F\u002Ffeathericons.com) created by Cole Bemis & Contributors (v4.29.2 featuring _287_ icons)\n- [`FontAwesome`](https:\u002F\u002Ffontawesome.com\u002Fsearch) designed by Fonticons, Inc. (v7.2.0 featuring _2,806_ free and _75,767_ pro icons)\n- [`Foundation`](http:\u002F\u002Fzurb.com\u002Fplayground\u002Ffoundation-icon-fonts-3) by ZURB, Inc. (v3.0 with _283_ icons)\n- [`Ionicons`](https:\u002F\u002Fionic.io\u002Fionicons) crafted by Ionic (v8.0.9 containing _1,357_ icons)\n- [`MaterialDesignIcons`](https:\u002F\u002Fpictogrammers.com\u002Flibrary\u002Fmdi\u002F) from MaterialDesignIcons.com (v7.4.47 including _7448_ icons)\n- [`Octicons`](https:\u002F\u002Fprimer.style\u002Ffoundations\u002Ficons) designed by GitHub, Inc. (v19.23.1 with _370_ icons)\n- [`Lucide`](https:\u002F\u002Flucide.dev\u002F) designed by Lucide, (v1.7.0 with _1,941_ icons)\n\n### No longer maintained upstream\n\n- [`Entypo`](http:\u002F\u002Fentypo.com) by Daniel Bruce (v1.0.1 with _411_ icons)\n- [`EvilIcons`](http:\u002F\u002Fevil-icons.io) designed by Alexander Madyankin & Roman Shamin (v1.10.1 with _70_ icons)\n- [`FontAwesome 4`](https:\u002F\u002Ffontawesome.com\u002Fv4\u002Ficons) by Fonticons, Inc. (v4.7.0 containing _785_ icons)\n- [`FontAwesome 5`](https:\u002F\u002Ffontawesome.com\u002Fv5\u002Fsearch) from Fonticons, Inc. (v5.15.4 offering _1611_ free and _7869_ pro icons)\n- [`FontAwesome 6`](https:\u002F\u002Ffontawesome.com\u002Fsearch) designed by Fonticons, Inc. (v6.7.2 featuring _2060_ free and _52663_ pro icons)\n- [`Fontisto`](https:\u002F\u002Fgithub.com\u002Fkenangundogan\u002Ffontisto) created by Kenan Gündoğan (v3.0.4 featuring _617_ icons)\n- [`MaterialIcons`](https:\u002F\u002Ffonts.google.com\u002Ficons?icon.set=Material+Icons) by Google, Inc. (v4.0.0 featuring _2234_ icons)\n- [`SimpleLineIcons`](https:\u002F\u002Fsimplelineicons.github.io\u002F) crafted by Sabbir & Contributors (v2.5.5 with _189_ icons)\n- [`Zocial`](https:\u002F\u002Fsmcllns.github.io\u002Fcss-social-buttons) by Sam Collins (v1.1.1 with _100_ icons)\n\n## Migration\n\nSee [MIGRATION.md](MIGRATION.md) if you are migrating from `react-native-vector-icons` to the package-per-icon-set approach or between major versions.\n\n## Installation\n\n1. Install the packages for the icons you want to use\n\n```sh\nnpm install @react-native-vector-icons\u002Ffontawesome-free-solid @react-native-vector-icons\u002Fevil-icons\n```\n\n2. Depending on the platform you're targeting (iOS\u002FAndroid\u002FWindows), follow the appropriate setup instructions below.\n3. If you are using one of the following fonts, refer to their guides for further instructions\n\n- [Fontello](packages\u002Ffontello\u002FREADME.md)\n- [Icomoon](packages\u002Ficomoon\u002FREADME.md)\n\n## Setup\n\nRefer to the guide for [Expo](.\u002Fdocs\u002FSETUP-EXPO.md), [React Native](.\u002Fdocs\u002FSETUP-REACT-NATIVE.md) or [Web](.\u002Fdocs\u002FSETUP-WEB.md) for further instructions.\n\n### Font location customisation\n\nFor fonts like the FontAwesome Pro as well as Fontello and Icomoon where you provide the fonts, the default location for the font files is `rnvi-fonts` in the same directory as your package.json. This can be customized by setting the `fontDir` property in your `package.json` file.\n\n```json\n{\n  \"reactNativeVectorIcons\": {\n    \"fontDir\": \"src\u002Frnvi-fonts\"\n  }\n}\n```\n\n## `Icon` Component\n\nYou can either use one of the bundled icons above or roll your own custom font.\n\n```js\nimport { FontAwesomeFreeSolid } from \"@react-native-vector-icons\u002Ffontawesome-free-solid\";\n\u002F\u002F or use the static version to embed the font at build time instead of loading it at runtime\nimport { FontAwesomeFreeSolid } from \"@react-native-vector-icons\u002Ffontawesome-free-solid\u002Fstatic\";\n\n\u003CFontAwesomeFreeSolid name=\"rocket\" size={30} color=\"#900\" \u002F>;\n```\n\n### Props\n\nAny [Text props](https:\u002F\u002Freactnative.dev\u002Fdocs\u002Ftext.html#props) and the following:\n\n| Prop        | Description                                                             | Default     |\n| ----------- | ----------------------------------------------------------------------- | ----------- |\n| **`size`**  | Size of the icon, can also be passed as `fontSize` in the style object. | `12`        |\n| **`name`**  | What icon to show, see Icon Explorer app or one of the links above.     | _None_      |\n| **`color`** | Color of the icon.                                                      | _Inherited_ |\n\n### Styling\n\nSince `Icon` builds on top of the `Text` component, most [style properties](https:\u002F\u002Freactnative.dev\u002Fdocs\u002Fstyle.html) will work as expected, you might find it useful to play around with these:\n\n- `backgroundColor`\n- `borderWidth`\n- `borderColor`\n- `borderRadius`\n- `padding`\n- `margin`\n- `color`\n- `fontSize`\n\nBy combining some of these you can create for example :\n\n![type](https:\u002F\u002Fcloud.githubusercontent.com\u002Fassets\u002F378279\u002F7667570\u002F33817554-fc0d-11e4-9ad7-4eb60139cfb7.png)\n![star](https:\u002F\u002Fcloud.githubusercontent.com\u002Fassets\u002F378279\u002F7667569\u002F3010dd7e-fc0d-11e4-9696-cb721fe8e98d.png)\n\n## Usage as PNG Image\u002FSource Object\n\nConvenient way to plug this in into other components that rely on bitmap images rather than scalable vector icons.\n\nYou need to use Expo (with `expo-font` installed) _or_ install `@react-native-vector-icons\u002Fget-image` to use this feature.\n\nBoth methods return an `ImageResult` object (`{ uri, width, height, scale }`) that can be passed directly as an `Image` source.\n\n```jsx\nconst source = Icon.getImageSourceSync('user', 20, 'red');\n\u002F\u002F or with an options object:\nconst source = Icon.getImageSourceSync('user', { size: 20, color: 'red', lineHeight: 28 });\n\nreturn \u003CImage source={source} \u002F>;\n```\n\nAlternatively you may use the async method `Icon.getImageSource`.\n\n```jsx\nconst source = await Icon.getImageSource('user', 20, 'red');\n\u002F\u002F or with an options object:\nconst source = await Icon.getImageSource('user', { size: 20, color: 'red' });\n```\n\nKeep in mind that `Icon.getImageSourceSync` is blocking and might incur performance penalties. Subsequent calls will use cache, however.\n\n### Static methods\n\nAll static methods from `Icon` are supported by multi-styled fonts.\n\n| Method                   | Description                                                                                                                                                                               |\n| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **`getImageSource`**     | Returns a promise resolving to an `ImageResult` of a bitmap version of the icon. Usage: `const source = await Icon.getImageSource(name, { size, color, lineHeight })` |\n| **`getImageSourceSync`** | Same as `getImageSource` but synchronous. Usage: `const source = Icon.getImageSourceSync(name, { size, color, lineHeight })`                                                              |\n\n## Custom Fonts\n\nThe best approach is to use our icon generator to create your own icon package.\n\nSee [CREATE_FONT_PACKAGE.md](.\u002Fdocs\u002FCREATE_FONT_PACKAGE.md) to learn how to create your own font packages.\n\nYou can also use `createIconSet()` directly in your project. This\nreturns your own custom font based on the `glyphMap` where the key is the icon\nname and the value is either a UTF-8 character or its character code.\n`postScriptName` is the name of the postscript font. Open the font in \u003Chttps:\u002F\u002Ffontdrop.info\u002F>,\nFont Book.app or similar to learn the name. Also pass the `fontFileName` argument for Android support.\n\n```js\nimport { createIconSet } from \"@react-native-vector-icons\u002Fcommon\";\nconst glyphMap = { \"icon-name\": 1234, test: \"∆\" };\n\n\u002F\u002F use createIconSet() with object parameter\n\u002F\u002F or use positional parameters for compatibility with version \u003C= 10: `createIconSet(glyphMap, fontFamily[, fontFile])`\nconst Icon = createIconSet(glyphMap, {\n  postScriptName: \"FontName\",\n  fontFileName: \"font-name.ttf\",\n  fontSource: require(\"..\u002Ffonts\u002Ffont-name.ttf\"), \u002F\u002F optional, for dynamic loading. Can also be a local file uri.\n});\n```\n\nIf you aren't using dynamic font loading you need to make sure your font is copied into your bundle.\n\n## Animation\n\nReact Native comes with an amazing animation library called\n[`Animated`](https:\u002F\u002Freactnative.dev\u002Fdocs\u002Fanimated.html). To use it with an\nicon, simply create an animated component with this line: `const AnimatedIcon =\nAnimated.createAnimatedComponent(Icon)`. You can also use the higher level\nanimation library\n[react-native-animatable](https:\u002F\u002Fgithub.com\u002Foblador\u002Freact-native-animatable).\n\n## Dynamic icon font loading\n\nTL;DR we recommend you use the `\u002Fstatic` import if you use [Development builds](https:\u002F\u002Fdocs.expo.dev\u002Fdevelop\u002Fdevelopment-builds\u002Fintroduction\u002F) and the root import when using [Expo Go](https:\u002F\u002Fdocs.expo.dev\u002Fdevelop\u002Fdevelopment-builds\u002Fintroduction\u002F#difference-between-expo-go-and-development-builds).\n\nIcon fonts can be made available statically at build time or loaded dynamically at runtime. The root (non-`\u002Fstatic`) import uses dynamic loading. If you don't need dynamic loading, use the `\u002Fstatic` imports (e.g. `\"@react-native-vector-icons\u002Fionicons\u002Fstatic\"`).\n\nSee the [Expo setup guide](.\u002Fdocs\u002FSETUP-EXPO.md) for more details, config plugins, and the dynamic loading API.\n\n## Usage Examples\n\n### Icon Explorer\n\nTry the `IconExplorer` project in `Examples\u002FIconExplorer` folder, there you can also search for any icon.\n\n![Screenshot of IconExplorer](https:\u002F\u002Fcloud.githubusercontent.com\u002Fassets\u002F378279\u002F8903470\u002Fa9fe6b46-3458-11e5-901f-98b7b676d0d3.png)\n\n### Basic Example\n\n```js\nimport { IonIcons } from \"@react-native-vector-icons\u002Fionicons\u002Fstatic\";\n\nconst ExampleView = () => (\n  \u003CIonIcons name=\"ios-person\" size={30} color=\"#4F8EF7\" \u002F>\n);\n```\n\n### Inline Icons\n\n```js\nimport { Text } from \"react-native\";\nimport { IonIcons } from \"@react-native-vector-icons\u002Fionicons\u002Fstatic\";\n\nconst ExampleView = (props) => (\n  \u003CText>\n    Lorem \u003CIonIcons name=\"ios-book\" color=\"#4F8EF7\" \u002F> Ipsum\n  \u003C\u002FText>\n);\n```\n\n## Testing\n\nWhen running tests with `jest` you will need to mock out the native code loading to prevent errors.\n\nIn `jest.config.js` add\n\n```js\n\u002F\u002F Mock out font loading\nmoduleNameMapper: {\n  '\\\\.(ttf)$': '\u003CrootDir>\u002F__mocks__\u002Ffile-mock.js',\n}\n```\n\nCreate `__mocks__\u002Ffile-mock.js`:\n\n```js\nmodule.exports = {};\n```\n\nCreate `__mocks__\u002F@react-native-vector-icons\u002Fcommon.js`:\n\n```js\n\u002F\u002F Mock the entire common library so there are no native module loading errors\nmodule.exports = {\n  createIconSet: () => \"icon\",\n};\n```\n\n## [Changelog](https:\u002F\u002Fgithub.com\u002Foblador\u002Freact-native-vector-icons\u002Freleases)\n\n## License\n\nThis project is licenced under the [MIT License](http:\u002F\u002Fopensource.org\u002Flicenses\u002Fmit-license.html).\n\nAny bundled fonts are copyright to their respective authors and mostly under MIT or [SIL OFL](http:\u002F\u002Fscripts.sil.org\u002FOFL).\n","React Native Vector Icons 是一个为 React Native 应用提供可定制矢量图标的库。它支持多种图标集，如 AntDesign、Feather、FontAwesome 等，并允许开发者通过简单的配置实现图标样式和大小的自定义。该项目采用 TypeScript 编写，确保了代码的质量与类型安全。此外，这些图标可以直接作为图像源使用或完全根据需要进行样式调整，非常适合用于增强按钮、标志以及导航或标签栏等用户界面元素的表现力。无论是开发新的应用还是对现有项目进行美化升级，React Native Vector Icons 都是一个实用且高效的选择。",2,"2026-06-11 02:56:16","top_language"]