Simply beautiful open source icons as Vue functional components.

Usage no npm install needed!

<script type="module">
  import vueFeatherIcons from '';



NPM version NPM downloads CircleCI donate


yarn add vue-feather-icons


// Only import what you need!
import { AirplayIcon, AtSignIcon, ... } from 'vue-feather-icons'

See all icons and usage here:


By default, icons will be sized based on the font size of the parent element.

You can set a custom size using the size attribute. For multiple based sizing, pass the desired multiple followed by an x.

<activity-icon size="1.5x" class="custom-class"></activity-icon> 

You can also set a px size directly by just passing an integer

<activity-icon size="25" class="custom-class"></activity-icon> 

Tree shaking

By using ES imports like import { AirplayIcon } from 'vue-feather-icons' with webpack + minifier or Rollup, unused exports in this module will be automatically eliminated.

To make webpack tree shaking work without using any minifier, you can use the per-file icons from icons directory, e.g. import AirplayIcon from 'vue-feather-icons/icons/AirplayIcon'.



  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D


vue-feather-icons © egoist, Released under the MIT License.
Authored and maintained by egoist with help from contributors (list). · GitHub @egoist · Twitter @_egoistlily