Convert Figma logo to code with AI

bytedance logoIconPark

🍎Transform an SVG icon into multiple themes, and generate React icons,Vue icons,svg icons

8,225
489
8,225
688

Top Related Projects

A set of over 5500 free MIT-licensed high-quality SVG icons for you to use in your web projects.

24,931

Simply beautiful open-source icons

17,564

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

  1. Using IconPark with React:
import { Home } from '@icon-park/react'

function App() {
  return (
    <div>
      <Home theme="outline" size="24" fill="#333"/>
    </div>
  )
}
  1. 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>
  1. 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:

  1. 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
    
  2. 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>
      )
    }
    
  3. Customize icons by adjusting the theme, size, and fill 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.

24,931

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.

17,564

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 Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

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.

NameGithub linkNPM link
React IconsReact Component@icon-park/react
Vue2 IconsVue Component for old Vue2.0@icon-park/vue
Vue3 IconsVue Component for Vue3.0@icon-park/vue-next
SVG IconsPure 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 iconsPreviewTheme
<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.

Screenshot of customization

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

Icon Tools

Changelog

CHANGELOG.en-US | CHANGELOG.简体中文

NPM DownloadsLast 30 Days