IconPark
🍎Transform an SVG icon into multiple themes, and generate React icons,Vue icons,svg icons
Top Related Projects
A set of over 5500 free MIT-licensed high-quality SVG icons for you to use in your web projects.
Simply beautiful open-source icons
Premium hand-crafted icons built by Ionic, for Ionic apps and web apps everywhere 🌎
A scalable set of icons handcrafted with <3 by GitHub
The iconic SVG, font, and CSS toolkit
Material Design icons by Google (Material Symbols)
Quick Overview
IconPark is an open-source icon library developed by ByteDance, offering a vast collection of high-quality icons for use in web and mobile applications. It provides a unified interface for using icons across different platforms and frameworks, with support for multiple themes and customization options.
Pros
- Large collection of over 2,000 customizable icons
- Supports multiple frameworks including React, Vue, and SVG
- Offers various themes and customization options for icons
- Regularly updated with new icons and features
Cons
- Limited documentation for advanced usage scenarios
- Some icons may not be suitable for all design styles
- Dependency on external libraries for certain framework integrations
- Potential performance impact when using a large number of icons
Code Examples
- Using IconPark with React:
import { Home } from '@icon-park/react'
function App() {
return (
<div>
<Home theme="outline" size="24" fill="#333"/>
</div>
)
}
- Using IconPark with Vue:
<template>
<div>
<home-icon theme="filled" size="32" fill="#007bff"/>
</div>
</template>
<script>
import { Home } from '@icon-park/vue'
export default {
components: {
HomeIcon: Home
}
}
</script>
- Using IconPark as SVG:
<script src="https://lf1-cdn-tos.bytegoofy.com/obj/iconpark/icons_2.0.0.js"></script>
<i-icon icon="home" theme="outline" size="24" fill="#333"></i-icon>
Getting Started
To use IconPark in your project, follow these steps:
-
Install the package for your preferred framework:
npm install @icon-park/react # For React npm install @icon-park/vue # For Vue npm install @icon-park/svg # For SVG
-
Import and use the icons in your code:
import { Home, User, Settings } from '@icon-park/react' function App() { return ( <div> <Home theme="outline" size="24" fill="#333"/> <User theme="filled" size="32" fill="#007bff"/> <Settings theme="two-tone" size="48" fill={['#333', '#2F88FF']}/> </div> ) }
-
Customize icons by adjusting the
theme
,size
, andfill
props as needed.
For more detailed usage instructions and advanced features, refer to the official IconPark documentation.
Competitor Comparisons
A set of over 5500 free MIT-licensed high-quality SVG icons for you to use in your web projects.
Pros of Tabler Icons
- Larger icon set with over 3,400 icons compared to IconPark's 2,000+
- Simpler and more consistent design style across icons
- Better documentation and easier integration with popular frameworks
Cons of Tabler Icons
- Less customization options for icon colors and styles
- Fewer icon categories and themes compared to IconPark
- Limited animation capabilities
Code Comparison
Tabler Icons usage:
<svg width="24" height="24">
<use xlink:href="path/to/tabler-sprite.svg#icon-user"/>
</svg>
IconPark usage:
import { User } from '@icon-park/react'
<User theme="outline" size="24" fill="#333"/>
Both libraries offer easy integration, but IconPark provides more flexibility in terms of customization through props. Tabler Icons focuses on simplicity and consistency, while IconPark offers more diverse styling options.
Overall, Tabler Icons is better suited for projects requiring a large, consistent icon set with minimal customization, while IconPark is ideal for applications needing more flexible and customizable icons across various themes and styles.
Simply beautiful open-source icons
Pros of Feather
- Simpler, more minimalist design aesthetic
- Smaller set of icons (287) for easier selection
- Lightweight and optimized for performance
Cons of Feather
- Limited icon variety compared to IconPark's extensive collection
- Less frequent updates and new icon additions
- Fewer customization options for icon styles
Code Comparison
Feather:
<i data-feather="circle"></i>
<script>
feather.replace()
</script>
IconPark:
import { Circle } from '@icon-park/react'
<Circle theme="outline" size="24" fill="#333"/>
IconPark offers more flexibility in terms of themes, sizes, and colors directly in the component props, while Feather requires additional CSS styling for customization.
Both libraries provide easy-to-use implementations, but IconPark's React component approach offers more built-in customization options. Feather's implementation is simpler and requires less setup, making it ideal for quick integration in smaller projects.
Overall, Feather is best suited for projects requiring a clean, minimalist icon set with straightforward implementation. IconPark is more appropriate for larger projects needing a wide variety of customizable icons across different styles and themes.
Premium hand-crafted icons built by Ionic, for Ionic apps and web apps everywhere 🌎
Pros of Ionicons
- Larger icon set with over 1,300 icons compared to IconPark's 1,200+
- Seamless integration with Ionic Framework for mobile app development
- Supports multiple file formats (SVG, WebFont, PNG, and JSX)
Cons of Ionicons
- Less customization options for icon styles and colors
- Primarily focused on mobile app design, which may limit its versatility for other projects
- Slower release cycle for new icons compared to IconPark
Code Comparison
IconPark:
import { Home } from '@icon-park/react'
<Home theme="outline" size="24" fill="#333"/>
Ionicons:
import { home } from 'ionicons/icons'
import { IonIcon } from '@ionic/react'
<IonIcon icon={home} size="large" color="primary" />
Both libraries offer easy-to-use React components for icon integration. IconPark provides more customization options through props like theme
and fill
, while Ionicons focuses on simplicity with predefined sizes and colors that align with the Ionic Framework design system.
IconPark's approach allows for more flexibility in styling, making it suitable for a wider range of projects. Ionicons, on the other hand, is optimized for Ionic Framework applications, ensuring consistency across mobile app designs.
A scalable set of icons handcrafted with <3 by GitHub
Pros of Octicons
- More established and widely used, especially in GitHub-related projects
- Offers SVG, PNG, and font icon formats for versatility
- Extensive documentation and integration guides
Cons of Octicons
- Limited icon set compared to IconPark (fewer than 200 icons)
- Less customization options for icon styles and colors
- Primarily focused on GitHub-related UI elements
Code Comparison
Octicons usage:
<svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true">
<path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path>
</svg>
IconPark usage:
import { Alert } from '@icon-park/react'
<Alert theme="outline" size="24" fill="#333"/>
IconPark offers a more concise and customizable implementation, while Octicons provides a more traditional SVG approach.
The iconic SVG, font, and CSS toolkit
Pros of Font-Awesome
- Larger icon set with over 7,000 icons
- Well-established and widely adopted in web development
- Extensive documentation and community support
Cons of Font-Awesome
- Heavier file size, which may impact page load times
- Limited customization options for individual icons
- Some advanced features require a paid Pro version
Code Comparison
IconPark:
import { Home } from '@icon-park/react'
<Home theme="outline" size="24" fill="#333"/>
Font-Awesome:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<i class="fas fa-home"></i>
Key Differences
- IconPark offers more flexible customization options for each icon
- Font-Awesome has a simpler implementation, especially for basic usage
- IconPark provides a more modern, component-based approach for React and Vue.js
- Font-Awesome offers a wider range of icon styles and variations
Conclusion
Both IconPark and Font-Awesome are powerful icon libraries with their own strengths. IconPark excels in customization and modern framework integration, while Font-Awesome offers a vast collection of icons and widespread adoption. The choice between the two depends on specific project requirements, desired customization level, and framework preferences.
Material Design icons by Google (Material Symbols)
Pros of Material Design Icons
- Extensive collection with over 2,000 icons in various styles and themes
- Well-documented and widely adopted across Google products and the Android ecosystem
- Offers multiple formats including SVG, PNG, and font icons
Cons of Material Design Icons
- Limited customization options for colors and styles
- May not be as suitable for non-Material Design projects
- Updates and new icons are less frequent compared to IconPark
Code Comparison
Material Design Icons usage:
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<i class="material-icons">favorite</i>
IconPark usage:
import { Home } from '@icon-park/react'
<Home theme="outline" size="24" fill="#333"/>
Key Differences
- IconPark offers more customization options, including themes and colors
- Material Design Icons are more focused on Google's design language
- IconPark provides a more diverse set of icons for various design styles
- Material Design Icons have better integration with Google and Android ecosystems
- IconPark offers a more modern and flexible API for developers
Both libraries have their strengths, with Material Design Icons being more established and IconPark offering greater flexibility and customization options. The choice between them depends on the specific project requirements and design preferences.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
IconPark
English | ç®ä½ä¸æ
Introduction
IconPark gives access to more than 2000 high-quality icons, and introduces an interface for customizing your icons.
Instead of using various SVG source files to achieve different themes, we implement a technology transforming attributes of a single SVG source file into multiple themes. Besides, we provide cross-platform components, including react-icons
, vue-icons
and svg-icons
.
So whether you are a designer or a developer, you can use them in your designs or your projects for free.
Packages
Generate Cross-platform Components
Find packages in packages
folder. NPM packages make it painless to import icon components to your project.
Name | Github link | NPM link |
---|---|---|
React Icons | React Component | @icon-park/react |
Vue2 Icons | Vue Component for old Vue2.0 | @icon-park/vue |
Vue3 Icons | Vue Component for Vue3.0 | @icon-park/vue-next |
SVG Icons | Pure SVG String | @icon-park/svg |
Multiple themes
Basic coloring can be done by setting two attributes on the node: fill and stroke. Fill sets the color inside the object while stroke sets the color of the line drawn around the object. By changing this two attributes, you can transform a single SVG icon into different themes, including: outline
, filled
, two-tone
, multi-color
. Take the icon named camera
for example:
Source file:
After Transforming:
React icons | Preview | Theme |
---|---|---|
<Camera theme="outline" size="32" fill="#000000"/> | Outline theme | |
<Camera theme="filled" size="32" fill="#333"/> | Filled theme | |
<Camera theme="two-tone" size="32" fill={['#333' ,'#2F88FF']}/> | Two-tone theme | |
<Camera theme="multi-color" size="32" fill={['#333' ,'#2F88FF' ,'#FFF' ,'#43CCF8']}/> | Multi-color theme |
Embed IconPark in your project
If you need to use additional information such as icon name, author, category, label and creation time, you can use the icons.json
file located in the root directory of each NPM.
Website
Customization
Here is the website of IconPark. Each icon is hand-coded within a 48x48 grid, using SVG stroke giving the maximum flexibility on styling. You can adjust the color, size, stroke-width
, stroke-linejoin
, stroke-linecap
and other attributes to meet your needs.
Convenient Online Tools
You can use them in Figma, Sketch, Photoshop, PPT, etc.
- Copy SVG
- Copy React Icon Component
- Copy Vue Icon Component
- Download PNG
- Download SVG
Changelog
Top Related Projects
A set of over 5500 free MIT-licensed high-quality SVG icons for you to use in your web projects.
Simply beautiful open-source icons
Premium hand-crafted icons built by Ionic, for Ionic apps and web apps everywhere 🌎
A scalable set of icons handcrafted with <3 by GitHub
The iconic SVG, font, and CSS toolkit
Material Design icons by Google (Material Symbols)
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot