Contributing to React Icons
React Icons is an open-source project, and we welcome contributions from the community. Whether you’re fixing bugs, adding features, or updating icon packs, your help is appreciated.Ways to Contribute
Report Issues
Found a bug or have a feature request? Open an issue on GitHub
Add Icon Sets
Propose new icon libraries to include in React Icons
Update Icons
Help keep existing icon packs up to date
Improve Docs
Fix typos or add examples to the documentation
Getting Started
Fork the repository
Fork the react-icons/react-icons repository to your GitHub account.
Development Workflow
Building from Source
Project Structure
Adding a New Icon Set
Check license compatibility
Ensure the icon pack has a compatible open-source license:
- MIT
- Apache 2.0
- CC BY 4.0
- ISC
- OFL
Test the icons
Verify your icons work correctly:Test importing and rendering icons from your new pack.
Updating an Existing Icon Set
Update the hash
Find the icon pack in
packages/react-icons/src/icons/index.ts and update the hash to the latest commit:Code Style
- TypeScript
- Formatting
- Linting
Testing Your Changes
Manual Testing
Test tree-shaking
Build the demo and check the bundle size:Verify that only used icons are included in the bundle.
Submitting a Pull Request
Commit your changes
Write clear, descriptive commit messages:Follow conventional commits format:
feat:for new featuresfix:for bug fixesdocs:for documentationchore:for maintenance
Create the pull request
Go to the React Icons repository and create a pull request from your branch.Include in your PR description:
- What changes you made
- Why you made them
- How to test them
- Screenshots (if applicable)
Build Scripts
The project uses several build scripts:| Script | Description |
|---|---|
yarn fetch | Downloads icon sources from upstream repositories |
yarn build | Generates React components from SVG files |
yarn check | Validates icon definitions and sources |
yarn type-check | Runs TypeScript type checking |
yarn lint | Runs ESLint |
yarn format | Formats code with Prettier |
Full Project Build
To build the entire project:Getting Help
GitHub Discussions
Ask questions and share ideas
GitHub Issues
Report bugs and request features
Code of Conduct
Please be respectful and constructive in all interactions. We want to maintain a welcoming community for all contributors.By contributing to React Icons, you agree that your contributions will be licensed under the MIT License.
Next Steps
Building from Source
Detailed build instructions
Adding Icon Sets
Complete guide to adding new icon packs