HugeIcons Pro React Native Component Library - Beautiful and customizable icons for your React Native applications
HugeIcons is a comprehensive icon library designed for modern web and mobile applications. The free package includes 4,400+ carefully crafted icons in the Stroke Rounded style, while the pro version offers over 40,000 icons across 9 unique styles.
- 4,400+ Free Icons: Extensive collection of Stroke Rounded icons covering essential UI elements, actions, and concepts
- Pixel Perfect: Every icon is crafted on a 24x24 pixel grid ensuring crisp, clear display at any size
- Customizable: Easily adjust colors, sizes, and styles to match your design needs
- Regular Updates: New icons added regularly to keep up with evolving design trends
📚 Looking for Pro Icons? Check out our comprehensive documentation at docs.hugeicons.com for detailed information about pro icons, styles, and advanced usage.
- What is HugeIcons?
- Features
- Installation
- Usage
- Props
- Examples
- Performance
- Troubleshooting
- Platform Support
- Related Packages
- Pro Version
- License
- Related
- 🎨 Customizable colors and sizes
- 💪 TypeScript support with full type definitions
- 🎯 Tree-shakeable for optimal bundle size
- 📱 Native SVG rendering for optimal performance
- ⚡ Lightweight and optimized
- 🔄 Alternate icon support for dynamic interactions
# Using npm
npm install @hugeicons/react-native @hugeicons/core-free-icons react-native-svg
# Using yarn
yarn add @hugeicons/react-native @hugeicons/core-free-icons react-native-svg
# Using pnpm
pnpm add @hugeicons/react-native @hugeicons/core-free-icons react-native-svg
# Using bun
bun add @hugeicons/react-native @hugeicons/core-free-icons react-native-svg
Note: This package requires react-native-svg
as a peer dependency. Make sure to follow the react-native-svg installation instructions for your platform.
import { HugeiconsIcon } from '@hugeicons/react-native';
import { SearchIcon } from '@hugeicons/core-free-icons';
function MyComponent() {
return (
<HugeiconsIcon
icon={SearchIcon}
size={24}
color="black"
strokeWidth={1.5}
/>
);
}
Prop | Type | Default | Description |
---|---|---|---|
icon |
IconType |
Required | The main icon to display |
altIcon |
IconType |
- | Alternative icon that can be used for states, interactions, animations, or dynamic icon swapping |
showAlt |
boolean |
false |
When true, displays the altIcon instead of the main icon |
size |
number |
24 |
Icon size in pixels |
color |
string |
currentColor |
Icon color (CSS color value) |
strokeWidth |
number |
undefined |
Width of the icon strokes. When used with absoluteStrokeWidth , the stroke width will be automatically scaled relative to the icon size |
absoluteStrokeWidth |
boolean |
false |
When true, the stroke width will be scaled relative to the icon size to maintain visual consistency across different sizes |
className |
string |
- | NativeWind classes for styling the icon (requires NativeWind to be installed) |
- Enhanced stroke functionality to apply stroke properties consistently to both parent SVG and child elements
- Improved stroke width calculation and inheritance across SVG hierarchy
- Maintained backward compatibility with existing stroke implementations
- Added NativeWind support through
className
prop - Icons can now be styled using Tailwind CSS classes when NativeWind is installed
- Maintained backward compatibility for non-NativeWind users
- Enhanced TypeScript types for NativeWind support
- Added
absoluteStrokeWidth
prop for consistent stroke width scaling - Improved stroke width handling by applying it at the SVG level
- Enhanced TypeScript types and documentation
- Added
altIcon
prop for alternate icon support - Added
showAlt
prop for conditional icon display - Improved TypeScript types and documentation
- Initial release
- Basic icon rendering functionality
- Support for customization (size, color, alternate icons)
- Full TypeScript support
import React from 'react';
import { View } from 'react-native';
import { HugeiconsIcon } from '@hugeicons/react-native';
import { SearchIcon } from '@hugeicons/core-free-icons';
function BasicExample() {
return (
<View>
<HugeiconsIcon icon={SearchIcon} />
</View>
);
}
import React from 'react';
import { View } from 'react-native';
import { HugeiconsIcon } from '@hugeicons/react-native';
import { NotificationIcon } from '@hugeicons/core-free-icons';
function CustomExample() {
return (
<View>
<HugeiconsIcon
icon={NotificationIcon}
size={32}
color="#FF5733"
/>
</View>
);
}
import React from 'react';
import { View } from 'react-native';
import { HugeiconsIcon } from '@hugeicons/react-native';
import { BellIcon } from '@hugeicons/core-free-icons';
function NativeWindExample() {
return (
<View className="p-4">
{/* Basic styling */}
<HugeiconsIcon
icon={BellIcon}
className="text-blue-500 w-6 h-6"
/>
{/* Use Size*/}
<HugeiconsIcon
icon={BellIcon}
className="text-green-500 size-32"
/>
</View>
);
}
import React, { useState } from 'react';
import { View, TextInput, TouchableOpacity, StyleSheet } from 'react-native';
import { HugeiconsIcon } from '@hugeicons/react-native';
import { SearchIcon, CloseCircleIcon } from '@hugeicons/core-free-icons';
function SearchExample() {
const [searchValue, setSearchValue] = useState('');
return (
<View style={styles.container}>
<TextInput
value={searchValue}
onChangeText={setSearchValue}
placeholder="Search..."
style={styles.input}
/>
<TouchableOpacity
onPress={() => searchValue.length > 0 && setSearchValue('')}
>
<HugeiconsIcon
icon={SearchIcon}
altIcon={CloseCircleIcon}
showAlt={searchValue.length > 0}
color="#666"
/>
</TouchableOpacity>
</View>
);
}
const styles = StyleSheet.create({
container: {
flexDirection: 'row',
alignItems: 'center',
paddingHorizontal: 16,
},
input: {
flex: 1,
height: 40,
marginRight: 8,
},
});
import React, { useState } from 'react';
import { TouchableOpacity } from 'react-native';
import { HugeiconsIcon } from '@hugeicons/react-native';
import { SunIcon, MoonIcon } from '@hugeicons/core-free-icons';
function ThemeToggle() {
const [isDark, setIsDark] = useState(false);
return (
<TouchableOpacity onPress={() => setIsDark(!isDark)}>
<HugeiconsIcon
icon={SunIcon}
altIcon={MoonIcon}
showAlt={isDark}
color={isDark ? '#FFF' : '#000'}
/>
</TouchableOpacity>
);
}
- Tree-shaking: The package is fully tree-shakeable, ensuring only the icons you use are included in your final bundle
- Native SVG Rendering: Uses react-native-svg for optimal performance
- Optimized SVGs: All icons are optimized for size and performance
- Code Splitting: Icons can be easily code-split when using dynamic imports
-
Icons not showing up?
- Make sure you've installed both
@hugeicons/react-native
and@hugeicons/core-free-icons
- Verify that
react-native-svg
is properly installed and linked - Check that icon names are correctly imported
- Make sure you've installed both
-
TypeScript errors?
- Ensure your
tsconfig.json
includes the necessary type definitions - Check that you're using the latest version of the package
- Ensure your
-
Bundle size concerns?
- Use named imports instead of importing the entire icon set
- Implement code splitting for different sections of your app
-
Android/iOS specific issues?
- Make sure you've followed platform-specific setup for react-native-svg
- Check platform-specific color values are valid
The library supports both iOS and Android through react-native-svg.
- @hugeicons/react - React component
- @hugeicons/vue - Vue component
- @hugeicons/svelte - Svelte component
- @hugeicons/angular - Angular component
🌟 Want access to 36,000+ icons and 9 unique styles? Check out our Pro Version and visit docs.hugeicons.com for comprehensive documentation.
-
Stroke Styles
- Stroke Rounded (
@hugeicons-pro/core-stroke-rounded
) - Stroke Sharp (
@hugeicons-pro/core-stroke-sharp
) - Stroke Standard (
@hugeicons-pro/core-stroke-standard
)
- Stroke Rounded (
-
Solid Styles
- Solid Rounded (
@hugeicons-pro/core-solid-rounded
) - Solid Sharp (
@hugeicons-pro/core-solid-sharp
) - Solid Standard (
@hugeicons-pro/core-solid-standard
)
- Solid Rounded (
-
Special Styles
- Bulk Rounded (
@hugeicons-pro/core-bulk-rounded
) - Duotone Rounded (
@hugeicons-pro/core-duotone-rounded
) - Twotone Rounded (
@hugeicons-pro/core-twotone-rounded
)
- Bulk Rounded (
This project is licensed under the MIT License.
- @hugeicons/core-free-icons - Free icon package
- HugeIcons Website - Browse all available icons