
記事内に商品プロモーションが含まれる場合があります
今回はFont Awesomeという超便利なサービスの使い方をまとめます。後半ではアイコンにさまざまなアニメーション効果をつける方法も解説します。
1. Font Awesomeとは?

ざっくりというとウェブサイトやブログでWebアイコンフォントを表示できるようにしてくれるサービスです。
Font Awesome公式ページです。アイコン一覧などもこちらから確認できます。上の画像は公開当時のFont Awesome 5の画面です。この記事のコードと見本は、Font Awesome Free 7.3.1のWeb Fonts + CSSに統一しています。
Webアイコンフォントとは?
ウェブページ上で文字と同じように表示できるアイコンのことです。画像でアイコンを貼るのと違い、拡大してもぼやけませんし、色もサイズも簡単に変えることができます。
使用例
たとえばこれらのアイコンはFontAwesomeを使って表示しています。このように色もサイズも自由に変えることができます。
無料版と有料版の違い
Font Awesomeには無料のFree版と有料のPro・Pro+があります。Free版では、ClassicのSolidとRegularの一部、それにBrandsのアイコンを使えます。このページの見本はすべてFree版に含まれるアイコンです。
2. 使用準備
Font Awesomeを使う前に、CSSとフォントを読み込む準備が必要です。この記事ではFree 7.3.1のファイルを自分のサイトに置く方法で進めます。公式のKitを利用する方法もあります。
手順1. Free 7.3.1のファイルを用意する

上の図は外部サーバーからファイルを読むCDNの仕組みを表しています。自前配信では、同じ版のCSSとWebフォントを自分のサーバーに配置します。公式ダウンロードでFree版のWeb用ファイルを取得するか、npmを使える環境では次のコマンドで7.3.1を取得してください。
npm install --save-exact @fortawesome/fontawesome-free@7.3.1手順2. CSSとWebフォントを配置する
取得したパッケージのcssからfontawesome.min.css・solid.min.css・regular.min.css・brands.min.cssを、webfontsからfa-solid-900.woff2・fa-regular-400.woff2・fa-brands-400.woff2をコピーします。例では/assets/font-awesome/7.3.1/css/と/assets/font-awesome/7.3.1/webfonts/へ置きます。CSSとwebfontsを隣り合わせのフォルダーにして、CSS内の相対URLを保ってください。詳しくは公式の自前配信手順を参照してください。
<link href="/assets/font-awesome/7.3.1/css/fontawesome.min.css" rel="stylesheet">
<link href="/assets/font-awesome/7.3.1/css/solid.min.css" rel="stylesheet">
<link href="/assets/font-awesome/7.3.1/css/regular.min.css" rel="stylesheet">
<link href="/assets/font-awesome/7.3.1/css/brands.min.css" rel="stylesheet">手順3. headタグ内でCSSを読み込む
上の4行をHTMLの<head>〜</head>内に貼り付けます。URLは実際に配置した場所に合わせてください。fontawesome.min.cssが基本の指定、残りがSolid・Regular・Brandsの指定です。使わないスタイルのCSSとフォントは省けます。
別の方法:公式Kitを使う
自分でファイルを配置できない環境では、公式Kitの手順を確認してください。Kitはアカウントで作成し、選んだ方式に合うコードをサイトへ追加します。以下の見本と同じ方法を使うときはWeb Fonts + CSSを選びます。
参考Font Awesome公式:自前配信の手順CSSとWebフォントの配置・読み込みを確認できます。3. Font Awesomeの使い方
準備さえ済ましてしまえば、アイコンフォントを表示させるのはとても簡単です。
手順1:使いたいアイコンフォントを探す

アイコン一覧から使いたいアイコンを選びます。このページは何度も使うことになるかと思うのでブックマークしておくと良いでしょう。
この記事では7.3.1に含まれるアイコンを使います。公式一覧のバージョン・Freeの条件を確認し、別の版や有料のアイコンを混ぜないようにしましょう。

使いたいアイコンを選び、詳細ページのFree・Proなどの表示を確認します。画像は公開当時の画面なので、現在の無料・有料の判定を画像の色だけで行わないでください。
手順2:アイコンフォントのコードをコピー

アイコンの詳細ページで、使うスタイルのHTMLコードをコピーします。この記事では<i class="fa-solid fa-bomb"></i>などの長いクラス名を使います。画像のfabは旧表記で、ここではfa-brandsに揃えています。
手順3:アイコンを表示させたい位置に貼付け
コピーしたコードをHTML内のアイコンを表示させたい位置に貼り付けます。これだけで以下のようにアイコンフォントを使うことができます。
<p><i class="fa-brands fa-twitter" aria-hidden="true"></i>ここにアイコンを表示</p>ここにアイコンを表示
アイコンの大きさを変える
<i class="fa-solid fa-list-check fa-lg" aria-hidden="true"></i>FontAwesomeでは、アイコンの大きさを簡単に変えることができます。以下のコードをi class="〜"内に書くことでサイズを大きくすることができます。
- fa-lg (1.25倍)
- fa-2x (2倍)
- fa-3x (3倍)
- fa-4x (4倍)
- fa-5x (5倍)
実際にコードを書いてみます。
<p><i class="fa-solid fa-bomb fa-lg" aria-hidden="true"></i></p>
<p><i class="fa-solid fa-bomb fa-2x" aria-hidden="true"></i></p>
<p><i class="fa-solid fa-bomb fa-3x" aria-hidden="true"></i></p>
<p><i class="fa-solid fa-bomb fa-4x" aria-hidden="true"></i></p>
<p><i class="fa-solid fa-bomb fa-5x" aria-hidden="true"></i></p>その他のサイズにしたいときは
上の5つのサイズ以外にしたい場合は自分の好きな名前のclassを追加して、そのclassに対してCSSでサイズ指定しましょう。
<p><i class="fa-solid fa-bomb my-small" aria-hidden="true"></i></p>
<p><i class="fa-solid fa-bomb my-big" aria-hidden="true"></i></p>.my-small {
font-size: 0.8em; /* 0.8倍の大きさ */
}
.my-big {
font-size: 6em; /* 6倍の大きさ */
}アイコンの色を変える
<i class="fa-solid fa-list-check my-example" aria-hidden="true"></i>
.my-example {
color: skyblue;
}アイコンの色を変えるときには、iタグに好きな名前のclassを追加し、それに対してCSSで色を指定します。たとえば以下のように書きます。
<i class="fa-solid fa-tag my-gray" aria-hidden="true"></i>
<i class="fa-solid fa-tag my-skyblue" aria-hidden="true"></i>
<i class="fa-solid fa-tag my-orange" aria-hidden="true"></i>.my-gray {
color: gray;
}
.my-skyblue {
color: skyblue;
}
.my-orange {
color: #fecb81;
}アイコンと文字の間にスペースを作る

文字のすぐ横にコードを貼ると少し窮屈に感じるかもしれません。
半角スペースで対応
アイコンと文字の間に隙間を作るには半角スペースを入力するのが簡単だったりします。
fa-width-fixedで幅を指定
<i class="fa-solid fa-list-check fa-width-fixed" aria-hidden="true"></i>Font Awesome 7のアイコンは標準でも幅が揃います。現行のfa-width-fixedを明示すると、幅を1.25emに固定します。文字との隙間が目的なら、半角スペースやCSSのmarginを使いましょう。

上の図は公開当時の版で幅を揃えた例です。現在の7.3.1では標準のアイコンも幅が揃うため、この図の「通常」とfa-fwの差がそのまま現れるわけではありません。旧fa-fwは互換用の非推奨クラスで、現行のコードにはfa-width-fixedを使います。
fa-width-fixedはアイコンの幅を決める指定です。アイコンと文字の間だけに隙間を作りたいときは、前後の文字との間隔を別に調整してください。
<p><i class="fa-solid fa-list-check fa-width-fixed" aria-hidden="true"></i> ここにアイコンを表示</p>ここにアイコンを表示
回転させる(アニメーション)
<i class="fa-solid fa-list-check fa-spin" aria-hidden="true"></i>fa-spinというclass名を追加するだけでアイコンをくるくると回すことができます。実際に見てみましょう。
<i class="fa-regular fa-lemon fa-spin" aria-hidden="true"></i>
<i class="fa-solid fa-gear fa-spin" aria-hidden="true"></i>FontAwesomeでは他にも色々なアニメーションをつけることができます。詳しくはのちほど解説します。
表示角度を変える
<i class="fa-solid fa-list-check fa-rotate-90" aria-hidden="true"></i>以下のclass名を追加することで、アイコンを傾けて表示させることもできます。
- fa-rotate-90:90度傾ける
- fa-rotate-180:180度傾ける
- fa-rotate-270:270度傾ける
反転させる
<i class="fa-solid fa-list-check fa-flip-horizontal" aria-hidden="true"></i>あまり使う機会は無いかもしれませんが反転させることもできます。
- 指定なし:
- fa-flip-horizontal:水平方向に反転
- fa-flip-vertical:垂直方向に反転
アイコンを線で囲う
<i class="fa-solid fa-list-check fa-border" aria-hidden="true"></i>classにfa-borderを足すとアイコンまわりに線をひくことができます。
<i class="fa-solid fa-list-check fa-2x fa-border" aria-hidden="true"></i>アイコンを重ねる
<span class="fa-stack">
<i class="fa-solid fa-cloud fa-stack-2x" aria-hidden="true"></i>
<i class="fa-brands fa-twitter fa-stack-1x fa-inverse" aria-hidden="true"></i>
</span>このようにアイコンどうしを重ねることもできます。使い方は以下のようになります。
- class名がfa-stackのspanタグの中に、2つのアイコンを入れる
- 背面のアイコンをはじめに書き、class名にfa-stack-2xを追加
- 次に前面のアイコンを書き、class名にfa-stack-1xを追加
4. Font AwesomeをCSSの疑似要素で使う方法
ここまではHTMLの中に<iほにゃらら></i>というコードを入れてきましたが、CSSでアイコンを表示させることもできます。具体的には疑似要素(before)を使います。
使い方の例
使い方の例は以下のようになります。
【HTML】
<p>これは<span class="bomb">爆弾</span>です。</p>
【CSS】
.bomb::before {
font: var(--fa-font-solid);
content: "\f1e2";
}font: var(--fa-font-solid);でSolidのフォントと太さを指定し、content: "\f1e2";で爆弾のUnicodeを指定します。バックスラッシュを忘れずに書いてください。

アイコン種類を示すf1e2のようなコードは各アイコンのページで見ることができます。これをコピペして使いましょう。
<p>これは<span class="bomb">爆弾</span>です。</p>.bomb::before {
font: var(--fa-font-solid);
content: "\f1e2";
}これは爆弾です。
注意:スタイルに合うフォントと太さを指定する
疑似要素には、使うスタイルのfont指定が必要です。Solidはvar(--fa-font-solid)、Regularはvar(--fa-font-regular)を使います。これらにはフォント名だけでなくSolidの900、Regularの400という太さも含まれます。
ブランド系のアイコンにはBrandsのフォントを使う
TwitterやFacebookなどのブランド系アイコンを疑似要素で使うときは、font: var(--fa-font-brands);を指定します。BrandsのCSSとWebフォントも読み込んでください。
【HTML】
<p>これは<span class="twitter">ツイッター</span>です。</p>
【CSS】
.twitter::before {
font: var(--fa-font-brands);
content: "\f099";
}これはツイッターです。
ブランド系アイコンの見分け方

現在のBrandsのHTMLクラス名はfa-brandsです。上の画像は公開当時のfabという表記を示しています。
見出しにアイコンを使う
見出しにアイコンフォントを使いたいときは以下のような書き方をしましょう。
.icon-heading::before {
font: var(--fa-font-solid);
content: "\f00c";
padding-right: 5px;
color: #f89174; /* アイコンの色 */
}padding-rightがアイコンと文字との隙間です。必要に応じて値を調整しましょう。この例は文字とアイコンが同じ大きさで、アイコンだけのサイズは疑似要素のfont-sizeで変えられます。icon-headingを付ければ、h1やh2にも同じCSSを使えます。
<h3 id="headlines" class="icon-heading">見出しにアイコンを使おう</h3>.icon-heading::before {
font: var(--fa-font-solid);
content: "\f00c";
padding-right: 5px;
color: #f89174; /* アイコンの色 */
}見出しにアイコンを使おう
なお、アイコンを使った見出しデザイン例はこちらの記事で大量に紹介しています。ぜひ参考にして頂ければと思います。
CSSのコピペだけ!おしゃれな見出しのデザイン例まとめ68選アイコンが表示されない?
まずCSSとWebフォントのURL、使用するスタイル、Free版に含まれるアイコンかを確認してください。疑似要素ではfont変数とUnicodeが必要です。公式のトラブルシューティングも参考になります。
箇条書きのマーカーの代わりに使う
リストデザインにアイコンフォントを使うこともできます。具体的なデザイン例をこちらで解説しているので、是非目を通してみてください。
コピペで使えるリストデザイン34選:CSSで箇条書きをおしゃれに6. 色々なアニメーションをつける方法
ここでは、旧記事で使っていたFont Awesome Animation 0.0.10の14種類の動きを、7.3.1のアイコンと組み合わせて再現します。下のCSSはこの14種類に必要な動きだけをまとめたものです。
Font Awesome Animationの使い方
Font Awesome 7.3.1のCSSを読み込んだうえで、下の2つのCSSコードを両方コピーし、自分のCSSファイルへ順番に貼り付けてください。1つ目が動きの定義、2つ目がクラスへの割り当てです。外部のアニメーションCSSやjQueryを追加する必要はありません。
加えたい動きのclass名を追加
アニメーションを加えたいときは、以下のように特定のclass名を追加します。
<i class="fa-solid fa-list-check faa-wrench animated" aria-hidden="true"></i>たとえば、faa-wrench animatedというclassを追加すれば、前後に揺れるような動きをつけることができます。アイコンはどれを選んでも構いません。
<i class="fa-brands fa-twitter faa-wrench animated" aria-hidden="true"></i>合わせてアイコンの色を変えたり、大きさを変えることもできます(さきほど紹介した方法と同じです)。
アニメーション一覧
下の14行は、上の2つのCSSを使った実演です。各行のクラス名とHTMLコードを組み合わせて使ってください。faa-pulseは拡大・縮小する旧ライブラリの効果で、Font Awesome本体の回転するfa-pulseとは異なります。
| 動き | class名 | コード例 |
|---|---|---|
| レンチ風 | faa-wrench animated | <i class="fa-brands fa-twitter faa-wrench animated" aria-hidden="true"></i> |
| ブルブル | faa-ring animated | <i class="fa-solid fa-bus faa-ring animated" aria-hidden="true"></i> |
| 横揺れ | faa-horizontal animated | <i class="fa-solid fa-person faa-horizontal animated" aria-hidden="true"></i> |
| 縦揺れ | faa-vertical animated | <i class="fa-regular fa-futbol faa-vertical animated" aria-hidden="true"></i> |
| 点滅 | faa-flash animated | <i class="fa-solid fa-star faa-flash animated" aria-hidden="true"></i> |
| 跳ね | faa-bounce animated | <i class="fa-solid fa-music faa-bounce animated" aria-hidden="true"></i> |
| スピン | faa-spin animated | <i class="fa-solid fa-arrows-rotate faa-spin animated" aria-hidden="true"></i> |
| 浮遊 | faa-float animated | <i class="fa-solid fa-ship faa-float animated" aria-hidden="true"></i> |
| パルス | faa-pulse animated | <i class="fa-solid fa-heart faa-pulse animated" aria-hidden="true"></i> |
| シェイク | faa-shake animated | <i class="fa-brands fa-facebook faa-shake animated" aria-hidden="true"></i> |
| ジャジャーン | faa-tada animated | <i class="fa-solid fa-plane faa-tada animated" aria-hidden="true"></i> |
| 通過 | faa-passing animated | <i class="fa-solid fa-bicycle faa-passing animated" aria-hidden="true"></i> |
| バック | faa-passing-reverse animated | <i class="fa-solid fa-bicycle faa-passing-reverse animated" aria-hidden="true"></i> |
| バースト | faa-burst animated | <i class="fa-solid fa-bomb faa-burst animated" aria-hidden="true"></i> |
アイコンへのhover時のみ動かす
この例はアイコンだけをボタンにして、カーソルを当てたときに動かします。キーボードのTabキーでボタンへフォーカスしたときも同じ動きになります。上の2つのCSSをコピーしてから使ってください。
<p><button type="button" class="faa-trigger faa-skyblue animated-hover" aria-label="アイコンにフォーカスして動きを確認">
<i class="fa-brands fa-twitter fa-2x faa-wrench" aria-hidden="true"></i>
</button>←カーソルを当ててね</p>←カーソルを当ててね
親要素へのhover時のみ動かす
親要素にカーソルを当てたときだけ、子のアイコンを動かすこともできます。この例は文章を含むpにカーソルを当てるか、中のボタンへキーボードでフォーカスすると動きます。
方法
- 親要素に「faa-parent animated-hover」というclass名を追加
- アイコンには動きのクラス名(例:
faa-wrench)だけ追加し、animatedは付けない。操作できるようにボタンで囲む。
<p class="faa-parent animated-hover">
<button type="button" class="faa-trigger">
<i class="fa-brands fa-twitter faa-wrench" aria-hidden="true"></i> ここにhover
</button>
</p>
シェアボタンなどにも応用できます。動きの元になったFont Awesome Animation 0.0.10はMITライセンスです。このページのCSSでは、現在のブラウザー向けの書き方とキーボード操作を追加しています。端末で動きを減らす設定をしている場合には停止します。