The Font Awesome CSS framework provides traditional web font-based icon usage through CSS classes. This approach uses web font files and CSS classes to display icons, offering broad browser compatibility and familiar implementation patterns.
/* css/all.css - Complete Font Awesome CSS (108KB) */
@import '~@fortawesome/fontawesome-free/css/all.css';Contains all Font Awesome styles and icon definitions in a single file.
/* Core framework */
@import '~@fortawesome/fontawesome-free/css/fontawesome.css';
/* Icon styles */
@import '~@fortawesome/fontawesome-free/css/solid.css';
@import '~@fortawesome/fontawesome-free/css/regular.css';
@import '~@fortawesome/fontawesome-free/css/brands.css';File breakdown:
fontawesome.css: Core framework (85KB)solid.css: Solid icon definitions (806B)regular.css: Regular icon definitions (812B)brands.css: Brand icon definitions (20KB)/* For SVG with JavaScript usage */
@import '~@fortawesome/fontawesome-free/css/svg-with-js.css';
/* Base SVG styling */
@import '~@fortawesome/fontawesome-free/css/svg.css';.fas { /* Solid icons */ }
.far { /* Regular icons */ }
.fab { /* Brand icons */ }Usage:
<i class="fas fa-user"></i> <!-- Solid user icon -->
<i class="far fa-heart"></i> <!-- Regular heart icon -->
<i class="fab fa-github"></i> <!-- GitHub brand icon -->.fa-{icon-name} { /* Specific icon styles */ }Font Awesome provides over 2,800 individual icon classes:
Popular solid icons:
<i class="fas fa-home"></i>
<i class="fas fa-user"></i>
<i class="fas fa-heart"></i>
<i class="fas fa-search"></i>
<i class="fas fa-envelope"></i>
<i class="fas fa-phone"></i>
<i class="fas fa-calendar"></i>
<i class="fas fa-download"></i>Popular regular icons:
<i class="far fa-user"></i>
<i class="far fa-heart"></i>
<i class="far fa-file"></i>
<i class="far fa-folder"></i>
<i class="far fa-clock"></i>Popular brand icons:
<i class="fab fa-github"></i>
<i class="fab fa-twitter"></i>
<i class="fab fa-facebook"></i>
<i class="fab fa-linkedin"></i>
<i class="fab fa-google"></i>
<i class="fab fa-youtube"></i>.fa-xs { font-size: 0.75em; } /* 12px at 16px base */
.fa-sm { font-size: 0.875em; } /* 14px at 16px base */
.fa-lg { font-size: 1.25em; } /* 20px at 16px base */
.fa-xl { font-size: 1.5em; } /* 24px at 16px base */
.fa-2xl { font-size: 2em; } /* 32px at 16px base */
/* Relative sizing */
.fa-1x { font-size: 1em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-4x { font-size: 4em; }
.fa-5x { font-size: 5em; }
.fa-6x { font-size: 6em; }
.fa-7x { font-size: 7em; }
.fa-8x { font-size: 8em; }
.fa-9x { font-size: 9em; }
.fa-10x { font-size: 10em; }Usage:
<i class="fas fa-user fa-xs"></i> <!-- Extra small -->
<i class="fas fa-user fa-sm"></i> <!-- Small -->
<i class="fas fa-user"></i> <!-- Default -->
<i class="fas fa-user fa-lg"></i> <!-- Large -->
<i class="fas fa-user fa-xl"></i> <!-- Extra large -->
<i class="fas fa-user fa-2xl"></i> <!-- 2x extra large -->
<i class="fas fa-user fa-3x"></i> <!-- 3x relative -->.fa-rotate-90 { transform: rotate(90deg); }
.fa-rotate-180 { transform: rotate(180deg); }
.fa-rotate-270 { transform: rotate(270deg); }.fa-flip-horizontal { transform: scaleX(-1); }
.fa-flip-vertical { transform: scaleY(-1); }
.fa-flip-both { transform: scale(-1); }Usage:
<i class="fas fa-shield fa-rotate-90"></i>
<i class="fas fa-shield fa-rotate-180"></i>
<i class="fas fa-shield fa-flip-horizontal"></i>
<i class="fas fa-shield fa-flip-vertical"></i>.fa-spin {
animation: fa-spin 2s infinite linear;
}
@keyframes fa-spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}.fa-pulse {
animation: fa-pulse 1s infinite;
}
@keyframes fa-pulse {
0% { opacity: 1; }
50% { opacity: 0.25; }
100% { opacity: 1; }
}Usage:
<i class="fas fa-spinner fa-spin"></i>
<i class="fas fa-heart fa-pulse"></i>.fa-border {
border: solid 0.08em #eee;
border-radius: 0.1em;
padding: 0.2em 0.25em 0.15em;
}.fa-pull-left {
float: left;
margin-right: 0.3em;
}
.fa-pull-right {
float: right;
margin-left: 0.3em;
}Usage:
<i class="fas fa-quote fa-pull-left fa-border"></i>
<p>Lorem ipsum dolor sit amet...</p>
<i class="fas fa-quote fa-pull-right"></i>
<p>Lorem ipsum dolor sit amet...</p>.fa-ul {
list-style-type: none;
margin-left: 2.5em;
padding-left: 0;
}
.fa-li {
left: -2em;
position: absolute;
text-align: center;
width: 2em;
line-height: inherit;
}Usage:
<ul class="fa-ul">
<li><i class="fa-li fas fa-check"></i>Item 1</li>
<li><i class="fa-li fas fa-check"></i>Item 2</li>
<li><i class="fa-li fas fa-times"></i>Item 3</li>
</ul>.fa-stack {
display: inline-block;
height: 2em;
line-height: 2em;
position: relative;
vertical-align: middle;
width: 2.5em;
}
.fa-stack-1x {
left: 0;
position: absolute;
text-align: center;
width: 100%;
z-index: 1;
}
.fa-stack-2x {
left: 0;
position: absolute;
text-align: center;
width: 100%;
z-index: 0;
}Usage:
<span class="fa-stack fa-lg">
<i class="fas fa-circle fa-stack-2x"></i>
<i class="fas fa-flag fa-stack-1x fa-inverse"></i>
</span>.fa-fw {
text-align: center;
width: 1.25em;
}Usage:
<div>
<i class="fas fa-home fa-fw"></i> Home
</div>
<div>
<i class="fas fa-file fa-fw"></i> Library
</div>
<div>
<i class="fas fa-bell fa-fw"></i> Notifications
</div>.fa-inverse {
color: #fff;
}Usage:
<span class="fa-stack">
<i class="fas fa-square fa-stack-2x"></i>
<i class="fas fa-terminal fa-stack-1x fa-inverse"></i>
</span>.sr-only {
border: 0 !important;
clip: rect(1px, 1px, 1px, 1px) !important;
height: 1px !important;
overflow: hidden !important;
padding: 0 !important;
position: absolute !important;
width: 1px !important;
}Usage:
<i class="fas fa-user" aria-hidden="true"></i>
<span class="sr-only">User profile</span>
<!-- Or with title -->
<i class="fas fa-heart" title="Favorite this item"></i>The CSS framework requires web font files from the webfonts/ directory:
@font-face {
font-family: 'Font Awesome 7 Free';
src: url('../webfonts/fa-solid-900.woff2') format('woff2'),
url('../webfonts/fa-solid-900.woff') format('woff'),
url('../webfonts/fa-solid-900.ttf') format('truetype');
font-weight: 900;
font-style: normal;
font-display: block;
}Available font files:
fa-solid-900.woff2 / .woff / .ttf - Solid iconsfa-regular-400.woff2 / .woff / .ttf - Regular iconsfa-brands-400.woff2 / .woff / .ttf - Brand icons/* css/v4-shims.css - Provides v4 class name compatibility */
@import '~@fortawesome/fontawesome-free/css/v4-shims.css';Maps old v4 class names to new v5+ equivalents automatically.
/* css/v4-font-face.css - v4 font face definitions */
/* css/v5-font-face.css - v5 font face definitions */Usage with different versions:
<!-- Current usage -->
<i class="fas fa-user"></i>
<!-- v4 compatibility (with shims) -->
<i class="fa fa-user"></i>