Duotone Icons

If you're looking to add multiple colors or tones or swap the layer opacity of your icons, you've come to the right place. Who doesn't love a winning flavor combination?

Our duotone icons (in both the Duotone and Sharp Duotone styles) work just like all of our other icons but with two distinct shades of color. Duotone is a great effect when you're looking to add more of your brand or an illustrative quality to the icons in your project.

Before You Get Started

Make sure you're:

Double the Fun with Less Hassle

All the styles in the Duotone and Sharp Duotone families work with the duotone styling properties described on this page. So once you get the hang of styling duotone icons, take all the duotone styles for a spin!

Basic Use

Duotone and Sharp Duotone icons use the same syntax Font Awesome icons, and you can reference them like any other icon. They will inherit whatever color is around them, with the secondary layer being a transparent version of the primary color.

<div class="fa-3x">
  <i class="fa-duotone fa-solid fa-camera"></i>
  <!-- a solid duotone camera icon -->
  <i class="fa-duotone fa-solid fa-fire-alt"></i>
  <!-- a solid duotone fire-alt icon -->
  <i class="fa-sharp-duotone fa-solid fa-bus-alt"></i>
  <!-- a solid sharp-duotone bus-alt icon -->
  <i class="fa-sharp-duotone fa-solid fa-fill-drip"></i>
  <!-- a solid sharp-duotone fill-drip icon -->
</div>

Swapping Layer Opacity

You can swap the default opacity of each duotone icon's layers. This will make an icon's primary layer have the default opacity of 40% rather than its secondary layer.

<div class="fa-3x">
  <i class="fa-duotone fa-solid fa-camera"></i>
  <!-- a duotone solid camera icon -->
  <i class="fa-duotone fa-camera fa-swap-opacity"></i>
  <!-- a duotone solid camera icon with swapped opacity -->

  <i class="fa-duotone fa-solid fa-fire-alt"></i>
  <!-- a duotone solid fire-alt icon -->
  <i class="fa-duotone fa-solid fa-fire-alt fa-swap-opacity"></i>
  <!-- a duotone solid fire-alt icon with swapped opacity -->

  <i class="fa-sharp-duotone fa-solid fa-bus-alt"></i>
  <!-- a sharp duotone solid bus-alt icon -->
  <i class="fa-sharp-duotone fa-solid fa-bus-alt fa-swap-opacity"></i>
  <!-- a sharp duotone solid bus-alt icon with swapped opacity -->
</div>

Your Turn!

Swap until you drop with these Codepen opacity-swapping examples.

Changing Opacity

By default, the secondary layer in a duotone icon is set to 40% opacity (via an opacity 0.4; rule in Font Awesome's support CSS). You can explicitly set the opacity of a duotone icon's layer by using the CSS custom properties below. New to custom properties? Here are some recommendations on using them in a project.

Properties CSS Custom Property Accepted Values
Set Primary Layer Opacity --fa-primary-opacity 0 1.0
Set Secondary Layer Opacity --fa-secondary-opacity 0 1.0
<div class="fa-3x">
  <i class="fa-duotone fa-solid fa-bus-alt" style="--fa-secondary-opacity: 0.20"></i>
  <!--  secondary layer's opacity set to 20% -->
  <i class="fa-duotone fa-solid fa-bus-alt" style="--fa-secondary-opacity: 0.40"></i>
  <!--  secondary layer's opacity set to 40% -->
  <i class="fa-duotone fa-solid fa-bus-alt" style="--fa-secondary-opacity: 0.60"></i>
  <!--  secondary layer's opacity set to 60% -->
  <i class="fa-duotone fa-solid fa-bus-alt" style="--fa-secondary-opacity: 0.80"></i>
  <!--  secondary layer's opacity set to 80% -->
  <i class="fa-duotone fa-solid fa-bus-alt" style="--fa-secondary-opacity: 1.0"></i>
  <!--  secondary layer's opacity set to 100% -->
</div>
<div class="fa-3x">
  <i class="fa-duotone fa-solid fa-bus-alt" style="--fa-primary-opacity: 0.20"></i>
  <!--  primary layer's opacity set to 20% -->
  <i class="fa-duotone fa-solid fa-bus-alt" style="--fa-primary-opacity: 0.40"></i>
  <!--  primary layer's opacity set to 40% -->
  <i class="fa-duotone fa-solid fa-bus-alt" style="--fa-primary-opacity: 0.60"></i>
  <!--  primary layer's opacity set to 60% -->
  <i class="fa-duotone fa-solid fa-bus-alt" style="--fa-primary-opacity: 0.80"></i>
  <!--  primary layer's opacity set to 80% -->
  <i class="fa-duotone fa-solid fa-bus-alt" style="--fa-primary-opacity: 1.0"></i>
  <!--  primary layer's opacity set to 100% -->
</div>

Your Turn!

Let's make sure this concept is super “transparent”. Try tinkering with these different opacity examples.

Coloring Duotone Icons

Like all other Font Awesome icons, duotone icons automatically inherit CSS size and color. A duotone icon consists of a primary and secondary layer. By default, The secondary layer is given an opacity of 40% so that it appears as a lighter shade of the icon's inherited or directly set color.

Using CSS custom properties, we've also added some color hooks to a duotone icon's primary and secondary layers. New to custom properties? Here are some places to set them.

Properties CSS Custom Property Accepted Values
Set Primary Layer Color --fa-primary-color Any valid CSS color value
Set Secondary Layer Color --fa-secondary-color Any valid CSS color value

<div class="fa-3x">
  <i class="fa-sharp-duotone fa-solid fa-bus-alt" style="--fa-primary-color: gold;"></i>
  <!-- primary layer color defined -->
  <i class="fa-sharp-duotone fa-solid fa-bus-alt" style="--fa-primary-color: orangered;"></i>
  <!-- primary layer color defined -->
  <i class="fa-sharp-duotone fa-solid fa-fill-drip" style="--fa-secondary-color: limegreen;"></i>
  <!-- secondary layer color defined -->
  <i class="fa-sharp-duotone fa-solid fa-fill-drip" style="--fa-secondary-color: rebeccapurple;"></i>
  <!-- secondary layer color defined -->
  <i
    class="fa-sharp-duotone fa-solid fa-battery-full"
    style="--fa-primary-color: limegreen; --fa-secondary-color: dimgray;"></i>
  <!-- secondary + primary layer color defined -->
  <i
    class="fa-sharp-duotone fa-solid fa-battery-quarter"
    style="--fa-primary-color: orange; --fa-secondary-color: dimgray;"></i>
  <!-- secondary + primary layer color defined -->
</div>

Your Turn!

Here's a Codepen that has some coloring examples for you to go cray-cray(ola) with.

Advanced Use

When you combine all of the coloring, opacity, and other options together, Font Awesome icons get even more awesome. Here are a few ideas on how duotone icons can take your project to the next level.

Use Color to Highlight a Part of an Icon or to Note Status

<div class="fa-3x">
  <i
    class="fa-duotone fa-solid fa-book"
    style="--fa-primary-color: lightseagreen; --fa-secondary-color: linen; --fa-secondary-opacity: 1.0;"></i>
  <i
    class="fa-duotone fa-solid fa-book-spells"
    style="--fa-primary-color: mediumpurple; --fa-secondary-color: linen; --fa-secondary-opacity: 1.0;"></i>
  <i
    class="fa-duotone fa-solid fa-book-medical"
    style="--fa-primary-color: crimson; --fa-secondary-color: linen; --fa-secondary-opacity: 1.0;"></i>
  <i
    class="fa-duotone fa-solid fa-book-user"
    style="--fa-primary-color: peru; --fa-secondary-color: linen; --fa-secondary-opacity: 1.0;"></i>

  <i
    class="fa-duotone fa-solid fa-toggle-off"
    style="--fa-primary-color: silver; --fa-secondary-color: gray; --fa-secondary-opacity: 1.0;"></i>
  <i
    class="fa-duotone fa-solid fa-toggle-on"
    style="--fa-primary-color: dodgerblue; --fa-secondary-color: orange; --fa-secondary-opacity: 1.0;"></i>

  <i
    class="fa-duotone fa-solid fa-file-plus"
    style="--fa-primary-color: white; --fa-secondary-color: limegreen; --fa-secondary-opacity: 1.0;"></i>
  <i
    class="fa-duotone fa-solid fa-file-exclamation"
    style="--fa-primary-color: white; --fa-secondary-color: gold; --fa-secondary-opacity: 1.0;"></i>
  <i
    class="fa-duotone fa-solid fa-file-times"
    style="--fa-primary-color: white; --fa-secondary-color: tomato; --fa-secondary-opacity: 1.0;"></i>
</div>

Create Full-Color Icons that Look Like Illustrations

<div class="fa-3x">
  <i
    class="fa-sharp-duotone fa-solid fa-crow"
    style="--fa-secondary-opacity: 1.0; --fa-primary-color: dodgerblue; --fa-secondary-color: gold;"></i>
  <i
    class="fa-sharp-duotone fa-solid fa-campfire"
    style="--fa-secondary-opacity: 1.0; --fa-primary-color: sienna; --fa-secondary-color: red;"></i>
  <i
    class="fa-sharp-duotone fa-solid fa-birthday-cake"
    style="--fa-secondary-opacity: 1.0; --fa-primary-color: pink; --fa-secondary-color: palevioletred;"></i>
  <i
    class="fa-sharp-duotone fa-solid fa-ear"
    style="--fa-secondary-opacity: 1.0; --fa-primary-color: sandybrown; --fa-secondary-color: bisque;"></i>
  <i
    class="fa-sharp-duotone fa-solid fa-corn"
    style="--fa-secondary-opacity: 1.0; --fa-primary-color: mediumseagreen; --fa-secondary-color: gold;"></i>
  <i
    class="fa-sharp-duotone fa-solid fa-cookie-bite"
    style="--fa-secondary-opacity: 1.0; --fa-primary-color: saddlebrown; --fa-secondary-color: burlywood;"></i>
</div>

Theme Icons with Brand Colors

<style>
  .theme-ravenclaw {
    --fa-secondary-opacity: 1;
    --fa-primary-color: rgb(4, 56, 161);
    --fa-secondary-color: rgb(108, 108, 108);
  }
</style>
<div class="fa-3x">
  <i class="fa-duotone fa-solid fa-hat-wizard theme-ravenclaw"></i>
  <i class="fa-duotone fa-solid fa-flask-potion theme-ravenclaw"></i>
  <i class="fa-duotone fa-solid fa-wand-magic theme-ravenclaw"></i>
  <i class="fa-duotone fa-solid fa-scarf theme-ravenclaw"></i>
  <i class="fa-duotone fa-solid fa-book-spells theme-ravenclaw"></i>
</div>

Your Turn!

Ready for "Advanced Defense Against the Dark Arts" and Duotone Icon Use? Here are some advanced examples you can start from to cast some real duotone magic. Want to ace those upcoming O.W.L.s on theming? Check out even more examples.

Using in a Project

CSS custom properties are still a pretty new thing for most folks. We've documented some of the ways you can define them within your project.

Accessibility Best Practices

Because duotone icons are made up of two layers with different color values, they can be more like illustrations than other Font Awesome styles and need extra care for accessibility.

Since they are more complex visually, duotone icons may be harder to read at smaller sizes. In addition to that, the colors and opacity you choose for each icon's layers can also affect their legibility. Some tips for improving legibility and accessibility:

Custom Icon Uploads Are Like Onions

They now have layers! You can add your very own duotone creations to a Kit if you have a Pro-level plan. Get up to speed on how best to make some, and how to use them once they're in your Kit.

Duotone Classes

Class Details
fa-swap-opacity Swap the default opacity of each layer in a duotone icon
(making an icon's primary layer have the default opacity of 40% rather than its secondary layer)

Customization

We've added CSS custom properties to make customizing easier and more efficient. Define your own values for the following properties to override and customize Font Awesome's defaults.

CSS Custom Property Details Accepted Values
--fa-primary-color Set primary layer color Any valid CSS color value
--fa-primary-opacity Set primary layer opacity 0 1.0
--fa-secondary-color Set secondary layer color Any valid CSS color value
--fa-secondary-opacity Set secondary layer opacity 0 1.0

Troubleshooting

Can I use Duotone Icons by using CSS pseudo-elements?

Yes, duotone icons can be added to your web projects as CSS pseudo-elements. Doing so is even more complicated than the base difficulty of rendering icons with CSS pseudo-elements though. It's recommended only for those who can't control the final markup of their site/project as well as ninjas who want complete control over their markup.

Doh! The icon I want to use isn't showing up as a duotone icon!

Let's double-check a few things.

Help! I can't target individual layers!

Make sure you're using the correct custom property values. Also, make sure you haven't defined a custom property that may be overriding things (check inline and in your custom CSS). We don't recommend writing custom CSS to target a specific class or pseudo-element — there are some differences between our Web Fonts and SVG versions of Font Awesome that can make this tricky.

Can I use Font Awesome styling with duotone icons?

Yes! You can use any of our styling options - like sizing and animations just to name a couple - with duotone icons. And if you're using the SVG + JS version of Font Awesome, our power transforms and layering let you do some pretty amazing stuff.

I'm using a subsetted Kit and the layers of my duotone icon layers look weird!

If you are using a Kit where you have selected subsetting, it is possible for the layers of your duotone icon to be rendered separately. This is most likely caused by attempting to use a duotone style that is not included in the subset. Here's the fix.

Do duotone icons work with all browsers?

Yep! They work in all the browsers that we list on our Browser Support page.

    No results