サイトのルートには今も.ico形式が期待されていますが、多くのオンライン変換ツールは画像のアップロードを要求します。画像を送信せず、PNGから正しい複数サイズのfavicon.icoを作る方法を紹介します。

.icoは画像の名前を変えただけでは作れません
logo.pngをfavicon.icoに改名するだけでは不十分です。ICOには固有のヘッダーがあり、画像の数、各サイズ、ファイル内の開始位置を記述します。名前を変えたPNGにはこのヘッダーがなく、厳密に処理するブラウザでは表示されません。
正しいICOは、同じアイコンを複数の解像度で保存します。ブラウザがヘッダーを読み、必要なサイズに最も近い画像を選ぶので、拡大せずに表示できます。
3ステップでPNGをICOに変換
まず元画像を用意します。512×512ピクセル以上の正方形PNGなら、すべて縮小で作れるため最もきれいに仕上がります。背景が透明なら、そのまま使うか決めておきます。タブには適していますが、iOSやAndroidでは黒に置き換わります。
次に各サイズを生成します。最低でも16×16、32×32、48×48を含めてください。高品質なリサンプリングで縮小しないと、小さなサイズで判別しづらくなります。
最後にまとめます。3枚の画像を、それぞれの情報を記述したヘッダーとともにひとつのICOに格納します。favicon.icoという名前でサイトのルートに置けば、HTMLタグがなくてもブラウザが見つけられます。
端末内で変換する意義
多くのPNG・ICO変換ツールは、ファイルをサーバーに送り、処理結果を返します。公開前かもしれないロゴが、自分では管理できない端末に保存され、未確認の保存ポリシーに従うことになります。
しかし現在のブラウザなら、PNGの読み取り、canvasでのサイズ変更、各サイズの再エンコード、ICOへの格納まで単独で処理できます。LFFaviconはこの方式を採用しています。画像を含む通信はなく、タブを閉じるとすべて消去されます。
利点はプライバシーだけではありません。変換はすぐに終わり、ページを読み込んだ後ならオフラインでも動作します。順番待ちも1日の利用上限もありません。
.icoだけでは足りません
PNGをICOに変換すればタブや旧式クライアントには対応できますが、3つの用途が残ります。最新ブラウザ向けの鮮明なSVG、iOSホーム画面向けの不透明な180×180 PNG、Webマニフェストを使うAndroidです。
画像を処理するなら、一度に必要なファイルをまとめて生成しましょう。このツールはひとつの元画像から.ico、SVG、Apple Touchアイコン、マニフェストアイコンを作り、ダウンロード前に各用途のプレビューを表示します。
一次資料
よくある質問
ICO作成に必要なPNGのサイズは?
512×512ピクセル以上の正方形を使ってください。128×128未満では大きなアイコンを拡大する必要があり、ぼやけます。解像度の制限がないSVGならさらに適しています。
.icoで透明度は保たれますか?
はい。ICOは完全なアルファチャンネルに対応するため、透明なPNGはタブでも透明のまま表示されます。ただしiOSは透明部分を黒にするため、iOS用アイコンには背景を付けてください。
favicon.icoはどこに置きますか?
ドメインのルートに置き、https://yoursite.com/favicon.icoでアクセスできるようにします。linkタグで指定していなくても、ブラウザやクローラーは慣例としてこのURLを要求します。