LoginSignup
1
1

More than 1 year has passed since last update.

Faviconについて

Last updated at Posted at 2021-07-13

はじめに

インターン先でFaviconの差し替えをしたら、思った以上にFaviconの知識がなかった。
タスクを進める中で調べた内容をまとめる。

Faviconとは

ブラウザで複数のページを開いたとき、タブに表示されるアイコンのこと。
Faviconという名前の由来が Favorite Icon だったことも初耳。
スクリーンショット 2021-07-13 15.34.05.png

サイズ

以下の二つが主らしい。

  • 16px × 16px
    ブラウザのタブ部分で使用。

  • 32px × 32px
    Retina対応ブラウザのタブ部分で使用。
    なお、RetinaはApple社が開発した高画質ディスプレイを指す。

16px × 16px の画像と 32px × 32px の画像二つから、両方のサイズに対応したFavicon(マルチアイコン)を作ることもできるが、詳しい内容は後ほど記述する。

他に 24px × 24px や 180px × 180px などのサイズが存在。
ただ 180px × 180px くらいの大きさになると、タブではなくスマホのホーム画面上のショートカットアイコン(ウェブクリップアイコン)として用いられる。

ファイル形式

基本的には .ico だが、ブラウザによっては .png.gif も利用可能。

Chrome / Firefox / Safari / Opera / Edge

上記の形式のいずれにも対応している。

Internet Explorer

バージョンによって対応形式が異なり、IE11以上であれば .png.gif も使えるが、それ以外では .ico のみ。
ただし Internet Explorer のサポートは2022年に停止される予定で、Microsoft Edge が主流となるらしい。

マルチアイコンの作成方法

探すと色々なツールが見つかったが、今回は Image Magick を使った。
フォーマット変更やサイズ変更などをコンソールから実行できるソフトで、20年以上前からあるっぽいので驚き。

以下のコマンドから Homebrew でインストールした。

brew install imagemagick

favicon化したい元の画像 favicon.png を用意し、次のコマンドで 16px × 16px と 32px × 32px のマルチアイコン favicon.ico を作成した。
auto-resizeオプションには複数のサイズを指定でき、それらに対応したマルチアイコンが生成される。

convert favicon.png -define icon:auto-resize=16,32 favicon.ico

設置方法

プロジェクトのディレクトリに使用する faviconファイルを置いたら、html の linkタグで設定する。

.png形式の場合

<link rel="icon" type="image/png" href="ファイルパス"/>

.gif形式の場合

<link rel="icon" type="image/gif" href="ファイルパス">

.ico 形式の場合

対応ブラウザに応じた記述をしなければいけないので注意。

Internet Explorer

IE11以上
<link rel="icon" href="ファイルパス"/>
IE9以上
# 以下のどちらか
<link rel="icon" href="ファイルパス" type="image/x-icon"/>
<link rel="icon" href="ファイルパス" type="mage/vnd.microsoft.icon"/>
IE8以下
<link rel="shortcut icon" href="ファイルパス">

Chrome / Firefox / Safari / Opera / Edge

上記の記述方法のいずれでも良い。

おわりに

Faviconにここまで悩むとは思っていなかった。
初めてちゃんと調べたけれど、今まで闇雲に扱ってきたことを反省。

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1