Skip to content

Import Icons

Ready to reference icons? Here’s a primer on Font Awesome icon naming and how to import from icon content packages.

Font Awesome contains packs, families, and styles of icons to match the tone and feel of any project you want to use it in.

Once you determine the style you want to use, we recommend referencing icons in your HTML with a dedicated element you’ll use only for icons. We find the <i> tag perfect for the job. That element will contain: 1) Font Awesome specific family and style classes (e.g. fa-sharp fa-solid), and 2) the icon’s name (prefixed with fa-) you want to display.

<!-- solid style of the computer classic icon -->
<i class="fa-solid fa-computer-classic"></i>
<!-- regular style of the computer classic icon -->
<i class="fa-regular fa-computer-classic"></i>
<!-- light style of the computer classic icon -->
<i class="fa-light fa-computer-classic"></i>
<!-- thin style of the computer classic icon -->
<i class="fa-thin fa-computer-classic"></i>
<!-- duotone style of the computer classic icon -->
<i class="fa-duotone fa-solid fa-computer-classic"></i>
<!-- sharp solid style of the computer classic icon -->
<i class="fa-sharp fa-solid fa-computer-classic"></i>
<!-- sharp regular style of the computer classic icon -->
<i class="fa-sharp fa-regular fa-computer-classic"></i>
<!-- sharp light style of the computer classic icon -->
<i class="fa-sharp fa-light fa-computer-classic"></i>
<!-- sharp thin style of the computer classic icon -->
<i class="fa-sharp fa-thin fa-computer-classic"></i>
<!-- sharp duotone style of the computer classic icon -->
<i class="fa-sharp-duotone fa-solid fa-computer-classic"></i>

Icon content “encoded” in JavaScript packages

Section titled “Icon content “encoded” in JavaScript packages”

The first version of Font Awesome used web fonts to encode icon data into a container the browser could use. In Version 5, we added support for SVG which lets us do some fun things with icon data.

Scalable Vector Graphics (SVGs) are made up of text information that can include paths. We use the path data to draw the icons.

Here’s an example from our code icon:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512">
<path d="M228.5 511.8l-25-7.1c-3.2-.9-5-4.2-4.1-7.4L340.1 4.4c.9-3.2 4.2-5 7.4-4.1l25 7.1c3.2.9 5 4.2 4.1 7.4L235.9 507.6c-.9 3.2-4.3 5.1-7.4 4.2zm-75.6-125.3l18.5-20.9c1.9-2.1 1.6-5.3-.5-7.1L49.9 256l121-102.5c2.1-1.8 2.4-5 .5-7.1l-18.5-20.9c-1.8-2.1-5-2.3-7.1-.4L1.7 252.3c-2.3 2-2.3 5.5 0 7.5L145.8 387c2.1 1.8 5.3 1.6 7.1-.5zm277.3.4l144.1-127.2c2.3-2 2.3-5.5 0-7.5L430.2 125.1c-2.1-1.8-5.2-1.6-7.1.4l-18.5 20.9c-1.9 2.1-1.6 5.3.5 7.1l121 102.5-121 102.5c-2.1 1.8-2.4 5-.5 7.1l18.5 20.9c1.8 2.1 5 2.3 7.1.4z" />
</svg>

Since it’s just text, we can easily store this information in JavaScript files. This can be easier to deal with in some projects versus web font files and CSS.

Icon content packages are segmented by license and style:

StylePackage NameAvailabilityClassesPreview
Solid@fortawesome/free-solid-svg-icons
@fortawesome/pro-solid-svg-icons
Free or Profa-solid
Regular@fortawesome/free-regular-svg-icons
@fortawesome/pro-regular-svg-icons
Free or Profa-regular
Light@fortawesome/pro-light-svg-iconsPro onlyfa-light
Thin@fortawesome/pro-thin-svg-iconsPro onlyfa-thin

StylePackage NameAvailabilityClassesPreview
Solid@fortawesome/pro-duotone-svg-iconsPro onlyfa-duotone fa-solid
Regular@fortawesome/duotone-regular-svg-iconsPro onlyfa-duotone fa-regular
Light@fortawesome/duotone-light-svg-iconsPro onlyfa-duotone fa-light
Thin@fortawesome/duotone-thin-svg-iconsPro onlyfa-duotone fa-thin

StylePackage NameAvailabilityClassesPreview
Solid@fortawesome/sharp-solid-svg-iconsPro onlyfa-sharp fa-solid
Regular@fortawesome/sharp-regular-svg-iconsPro onlyfa-sharp fa-regular
Light@fortawesome/sharp-light-svg-iconsPro onlyfa-sharp fa-light
Thin@fortawesome/sharp-thin-svg-iconsPro onlyfa-sharp fa-thin

StylePackage NameAvailabilityClassesPreview
Solid@fortawesome/sharp-duotone-solid-svg-iconsPro onlyfa-sharp-duotone fa-solid
Regular@fortawesome/sharp-duotone-regular-svg-iconsPro onlyfa-sharp-duotone fa-regular
Light@fortawesome/sharp-duotone-light-svg-iconsPro onlyfa-sharp-duotone fa-light
Thin@fortawesome/sharp-duotone-thin-svg-iconsPro onlyfa-sharp-duotone fa-thin

StylePackage NameAvailabilityClassesPreview
Brands@fortawesome/free-brands-svg-iconsFreefa-brands

StylePackage NameAvailabilityClassesPreview
Regular@fortawesome/chisel-regular-svg-iconsPro+ onlyfa-chisel fa-regular

StylePackage NameAvailabilityClassesPreview
Solid@fortawesome/etch-solid-svg-iconsPro+ onlyfa-etch fa-solid

StylePackage NameAvailabilityClassesPreview
Regular@fortawesome/jelly-regular-svg-iconsPro+ onlyfa-jelly fa-regular
Fill Regular@fortawesome/jelly-fill-regular-svg-iconsPro+ onlyfa-jelly-fill fa-regular
Duo Regular@fortawesome/jelly-duo-regular-svg-iconsPro+ onlyfa-jelly-duo fa-regular

StylePackage NameAvailabilityClassesPreview
Solid@fortawesome/notdog-solid-svg-iconsPro+ onlyfa-notdog fa-solid
Duo Solid@fortawesome/notdog-duo-solid-svg-iconsPro+ onlyfa-notdog-duo fa-solid

StylePackage NameAvailabilityClassesPreview
Regular@fortawesome/slab-regular-svg-iconsPro+ onlyfa-slab fa-regular
Press Regular@fortawesome/slab-press-regular-svg-iconsPro+ onlyfa-slab-press fa-regular

StylePackage NameAvailabilityClassesPreview
Light@fortawesome/thumbprint-light-svg-iconsPro+ onlyfa-thumbprint fa-light

StylePackage NameAvailabilityClassesPreview
Semibold@fortawesome/whiteboard-semibold-svg-iconsPro+ onlyfa-whiteboard fa-semibold

JavaScript naming doesn’t use hyphens; it uses lower camel case. So here are some basic examples of how imports and requires work.

Icon nameVersion 4 nameLower camel caseNotes on usage
address-bookfa-address-bookfaAddressBookThe “B” is captialized after the hyphen
facebook-ffa-facebookfaFacebookFIt’s in the Brands style and this was renamed to facebook-f
circlefa-circle-ofaCircleOutline versions of icons are now in the Regular and Light styles
freebsdfa-freebsdfaFreebsdOCD-warning: we know it’s FreeBSD but consistency/guessability is the goal here

Importing these specific icons:

import { faSword } from '@awesome.me/kit-KIT_CODE/classic/solid'
import { faShieldCross } from '@awesome.me/kit-KIT_CODE/duotone/solid'
import { faDog } from '@awesome.me/kit-KIT_CODE/duotone/regular'
import { faFaceHeadBandage } from '@awesome.me/kit-KIT_CODE/sharp/solid'
import { faSparkles } from '@awesome.me/kit-KIT_CODE/sharp-duotone/solid'
// Import uploaded icons from your Kit
import { faMyIcon } from '@awesome.me/kit-KIT_CODE/icons/kit/custom'

Import all icons by using the prefix:

import { library } from '@fortawesome/fontawesome-svg-core'
import { all } from '@awesome.me/kit-KIT_CODE/icons'
library.add(...all)