上級者向け

高度な favicon テクニック

基本の4ファイルを用意したら、次はディテールです。ここで扱う点が、単に「動く」favicon と、あらゆる場面で正しく見える favicon とを分けます。暗いタブバー、Android のランチャー、Safari のピン留めタブ、そして Google の検索結果まで。

ダークモードに対応する favicon

ブラウザのテーマに反応できるのは SVG だけです。prefers-color-scheme クエリを含む <style> を SVG 自体の中に埋め込みます。ブラウザはアイコンを描画するときにそれを適用します。これにより、暗いタブバーでも暗いロゴが見えるようになります。

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
  <style>
    path { fill: #111; }
    @media (prefers-color-scheme: dark) { path { fill: #fff; } }
  </style>
  <path d="…your icon path…"/>
</svg>

<link rel="icon" href="/icon.svg" type="image/svg+xml"> として参照します。メディアクエリを実行しないブラウザや Google 検索のために、通常の favicon.ico も併せて残しておきます。

Safari のピン留めタブアイコン

デスクトップ版 Safari でタブをピン留めすると、平坦な単色の SVG(「マスクアイコン」)が別途使われます。形状だけで、グラデーションはありません。

<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#F0562E">

color 属性はピンの色合いを設定します。この用途にはマークのモノクロ版を書き出してください。細かいディテールや複数の色を含むものは、塗りつぶされた塊として表示されてしまいます。

マスカブルアイコンとセーフゾーン

Android のアダプティブアイコンは、ランチャーに応じて画像を円、スクワークル、角丸の四角形に切り抜きます。通常のアイコンは角が切り落とされます。マニフェストのアイコンをマスカブルとして指定し、重要な要素は中央の「セーフゾーン」——おおよそ中央の 80%、つまり各辺に約 10% の余白——の内側に収めてください。

{ "src": "/android-chrome-512x512.png", "sizes": "512x512",
  "type": "image/png", "purpose": "any maskable" }

背景色を全面(フルブリード)にし、ロゴはその余白の内側に余裕をもって配置します。そうすれば、どの形に切り抜かれてもロゴが欠けることはありません。

theme-color:アイコン周りのバー

favicon そのものではありませんが、モバイルではそのすぐ隣に表示されます。theme-color はブラウザの UI やアドレスバーに色を付けます。テーマに反応させることもできます。

<meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#111316" media="(prefers-color-scheme: dark)">

本物の .ico に実際に含まれるもの

適切な .ico は、複数のビットマップを一度に保持するコンテナで、通常は 16、32、48 ピクセルを含みます。ブラウザは用途(タブ、ブックマークバー、Windows のショートカット)に必要なサイズを選ぶため、16px の画像を拡大したり 512px の画像を縮小したりする必要がありません。実際には単一の PNG をリネームしただけの「favicon.ico」はこの利点を失い、一部のサイズでぼやけて見えます。このジェネレーターは本物のマルチサイズ ICO を書き出します。

Google 検索の favicon ルール

検索結果の横にアイコンを表示させるには、Google は次のすべてを要求します。favicon が一貫した URL に置かれていること、48×48 の倍数(48、96、144…)の正方形であること、サイトと同じホスト上にあること、それを掲載するページがインデックス可能であること、そしてアイコンが視覚的に明瞭であること。Google は独自のクローラーで、ページとは別にこれを取得・キャッシュします。そのため変更後は数日から数週間の猶予を見込み、/favicon.ico が Googlebot に対して 200 を返すことを確認してください。

ファイルは小さく保つ

  • SVG:エディターのメタデータやコメントを取り除きます。整理されたアイコン SVG は多くの場合 1 KB 未満です。
  • ICO:16/32/48 のみにします。64/128/256 を追加したくなっても我慢してください。利点がないままファイルが肥大化します。
  • PNG:512 のアイコンが最も重いので、可逆圧縮の最適化ツールにかけてください。

実際に表示される場所でテストする

1つのブラウザだけを信用しないでください。通常のタブ(明るいテーマと暗いテーマ)、ブックマーク、iOS の「ホーム画面に追加」、Android へのインストール、そして再クロール後の Google の結果を確認します。テスト中にクリーンな読み込みを強制する手軽な方法は、プライベートウィンドウと、アイコンの URL への ?v= クエリの併用です。

← ジェネレーターに戻る