A professional icon system designed for modern applications. It's an integrated icon package that can be used across multiple platforms including React, React Native, Web, iOS, Android, and Flutter.
packages/
βββ react-icons/ # React icon package
βββ react-native-icons/ # React Native icon package
βββ web-icons/ # Web icon package
βββ icon-cdn/ # CDN package for direct access
# Install all platform packages
npm install @refineui/react-icons @refineui/react-native-icons @refineui/web-icons
# Or install individually based on your needs
npm install @refineui/react-icons # For React web apps
npm install @refineui/react-native-icons # For React Native apps
npm install @refineui/web-icons # For vanilla web projectsnpm install @refineui/react-iconsimport {
AccessibilityRegular,
Add16Filled,
Home32Regular,
SearchFilled,
} from "@refineui/react-icons";
// Unsized method (default 24px)
const accessibilityIcon = <AccessibilityRegular style={{ color: "blue" }} />;
const addIconFilled = <AddFilled style={{ fontSize: "20px" }} />;
// Sized method
const addIcon16 = <Add16Filled style={{ color: "red" }} />;
const homeIcon32 = <Home32Regular style={{ marginRight: "8px" }} />;Features:
- π― TypeScript-first with full type safety
- βοΈ React-optimized components
- π¦ Tree-shakable imports
- π¨ Multiple sizes (16, 20, 24, 28, 32, 48px)
- π Two styles (Regular and Filled)
- βΏ Built-in accessibility support
npm install @refineui/react-native-iconsimport {
AccessibilityRegular,
Add16Filled,
Home32Regular,
SearchFilled,
} from "@refineui/react-native-icons";
// In React Native, icons are rendered as optimized images
const accessibilityIcon = <AccessibilityRegular style={{ color: "blue" }} />;
const addIconFilled = <AddFilled style={{ fontSize: 20 }} />;
const addIcon16 = <Add16Filled style={{ color: "red" }} />;
const homeIcon32 = <Home32Regular style={{ marginRight: 8 }} />;Features:
- π± React Native optimized
- π¨ Flexible styling with tint colors and backgrounds
- βΏ Accessibility labels and hints
- π Performance optimized for mobile
- π― Touch interaction support
npm install @refineui/web-iconsimport {
AccessibilityRegular,
Add16Filled,
Home32Regular,
SearchFilled,
} from "@refineui/web-icons";
// Returns icon as string
const accessibilityIcon = AccessibilityRegular(); // Returns string
const addIconFilled = AddFilled(); // Returns string
// Sized method
const addIcon16 = Add16Filled(); // Returns string
const homeIcon32 = Home32Regular(); // Returns string
// Apply to DOM element
const iconElement = document.createElement("span");
iconElement.textContent = addIcon16;
iconElement.style.fontFamily = "RefineUI-System-Icons-Filled";Features:
- π€ Font-based icon system
- π¦ 434+ icons supported
- π¨ Multiple sizes and styles
- π Lightweight and fast
- π Built-in search and filtering
<!-- Use generated XML drawables -->
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/ic_add_24_regular" />
<!-- Or use vector drawables -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<!-- Icon path data -->
</vector>Features:
- π¨ Vector drawables for all screen densities
- π± Multiple sizes (16, 20, 24, 28, 32, 48dp)
- π Regular and filled variants
- π Optimized for Android performance
import RefineUIIcons
// Use generated Swift code
let addIcon = RefineUIIcons.Add24Regular()
let heartIcon = RefineUIIcons.Heart32Filled()
// Customize appearance
addIcon.tintColor = .systemBlue
heartIcon.tintColor = .systemRedFeatures:
- π Native iOS integration
- π¨ SF Symbols compatible
- π± Multiple sizes and styles
- π SwiftUI and UIKit support
import 'package:refineui_icons/refineui_icons.dart';
// Use generated Dart code
Icon(RefineUIIcons.add24Regular)
Icon(RefineUIIcons.heart32Filled)
// Customize
Icon(
RefineUIIcons.settings24Regular,
color: Colors.blue,
size: 24.0,
)Features:
- π¦ Flutter-optimized
- π¨ Material Design compatible
- π± Cross-platform consistency
- π High-performance rendering
- All icon information stored in
metadata.json - Easy maintenance with automatic mapping system
- Consistent naming across all platforms
- React: Optimized components with TypeScript support
- React Native: Mobile-optimized with touch interactions
- Web: Font-based system for lightweight usage
- Android: Vector drawables for crisp rendering
- iOS: Native integration with SF Symbols
- Flutter: Cross-platform consistency
433+ Icons covering:
- π§ Navigation: home, search, arrow, chevron, location, map
- β‘ Actions: add, edit, delete, save, close, checkmark
- π¬ Communication: mail, chat, phone, share, notification
- π¬ Media: play, pause, stop, video, audio, camera
- π₯ Social: person, user, group, heart, star
- π» Technology: computer, laptop, phone, tablet, wifi
- π€οΈ Weather: sun, moon, cloud, rain, snow
- π§ Tools: settings, gear, tool, wrench, hammer
- Sizes: 16, 20, 24, 28, 32, 48px variants
- Styles: Regular and filled variants
- Naming: Consistent snake_case format
- Colors: Customizable tint colors
- Accessibility: Built-in alt text and ARIA support
All platforms are automatically released using our streamlined process.
# Patch release (1.0.0 -> 1.0.1)
./scripts/release.sh patch
# Minor release (1.0.0 -> 1.1.0)
./scripts/release.sh minor
# Major release (1.0.0 -> 2.0.0)
./scripts/release.sh major# 1. Update version
npm run version:bump patch # or minor, major
# 2. Build all platforms
npm run release:all
# 3. Push Git tags (GitHub Actions auto-executes)
git push origin main --tagsWhen you push a tag to GitHub, the following actions automatically execute:
- Multi-Platform Build: Python 3.9-3.11, Node.js 18-20 builds
- Platform Packages: Individual ZIP packages for each platform
- Release Assets: Automatic upload to GitHub releases
- Verification: Release file structure validation
release/
βββ refineui-icons-web.zip # Web icons and CSS
βββ refineui-icons-android.zip # Android XML drawables
βββ refineui-icons-ios.zip # iOS Swift code
βββ refineui-icons-flutter.zip # Flutter Dart code
βββ refineui-icons-all.zip # All platforms combined
βββ release-manifest.json # Release information
- Node.js 18+
- Python 3.9+
- npm or yarn
# Clone repository
git clone https://github.com/refineui/system-icons.git
cd system-icons
# Install dependencies
npm install
pip install -r requirements.txt
# Build all platforms
npm run build:all# Build commands
npm run build:all # Build all platforms
npm run build:platforms # Build platform-specific files
npm run build:fonts # Build font files
# Generation commands
npm run generate:metadata # Generate icon metadata
npm run generate:web-icons # Generate web icons
npm run generate:android # Generate Android XML
npm run generate:ios # Generate iOS Swift
npm run generate:flutter # Generate Flutter Dart
npm run generate:fonts # Generate font CSS
# Release commands
npm run release:all # Release all platforms
npm run version:bump # Bump version
# Utility commands
npm run clean # Clean build files
npm run test # Run tests
npm run lint # Lint code- React Icons Documentation
- React Native Icons Documentation
- Web Icons Documentation
- Icon CDN Documentation
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with modern web technologies
- Community-driven development
- Designed for cross-platform consistency
RefineUI System Icons - Professional icons for every platform π