ファビコンジェネレーター|ICO・PNGを複数サイズ一括生成

画像をアップロードして正方形に切り抜くだけで、favicon.ico(16・32・48pxなど複数サイズ同梱)とPNG一式を一括生成。Lanczos法による高品質な縮小に対応し、headに貼るHTMLも自動生成。ブラウザ内処理で画像は送信されません。

ファビコンの指定方法(パターン別)

ファビコンの書き方は「どこまで対応するか」で変わります。最小構成から PWA・ダークモード対応まで、用途別に必要な記述をまとめました。生成したファイルをサイトのルート直下に置く前提のコードです。

パターン1:最小構成(favicon.ico を置くだけ)

HTML に1行も書かず、/favicon.ico をドキュメントルートに置くだけの方式です。ブラウザはこのパスを暗黙に探しに行くため、それだけで表示されます。

your-site/
└── favicon.ico   ← ここに置くだけ(HTML への記述は不要)

<!-- 明示的に書くなら、この1行だけで足ります -->
<link rel="icon" href="/favicon.ico" sizes="any">
対象 個人サイト・社内ツール・とりあえず表示できればよい場合
補足 sizes="any" を付けておくと、後から SVG や PNG を追加したときにブラウザが「ICO は最終手段」と正しく判断してくれます。ICO には 16・32・48px を同梱しておくのがおすすめです。

パターン2:標準構成(推奨)

ICO に加えて PNG と Apple Touch Icon を用意する、現在もっとも一般的な構成です。デスクトップのブラウザから iOS のホーム画面追加まで一通りカバーできます。

<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
対象 コーポレートサイト・ブログ・メディアなど一般的な Web サイト
補足 apple-touch-icon は透過部分が黒く塗られるため、必ず背景色を敷いた不透明な PNG にしてください。iOS 側で角丸に切り抜かれるので、余白を1割ほど取っておくと端が欠けません。

パターン3:PWA フル構成

ホーム画面に追加したときにアプリのように起動する PWA では、site.webmanifest にアイコンを登録します。192px と 512px の両方が揃っていないとインストール可能と判定されません。

<!-- HTML(head 内) -->
<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">

<!-- site.webmanifest -->
{
  "name": "My Site",
  "short_name": "Site",
  "icons": [
    { "src": "/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" },
    { "src": "/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" }
  ],
  "theme_color": "#ffffff",
  "background_color": "#ffffff",
  "display": "standalone"
}
対象 PWA・Web アプリ・スマートフォンでの利用が中心のサービス
補足 iOS は manifest のアイコンを参照しないため、apple-touch-icon の併記が別途必要です。display: "standalone" はブラウザの UI を隠してアプリ風に起動する指定です。

パターン4:SVG ファビコン+ダークモード対応

SVG ファビコンは解像度に依存せず、SVG 内の CSS でダークモード時の色を切り替えられます。対応していないブラウザのために ICO・PNG を併記します。

<!-- HTML(head 内)。上から順に「読めるもの」が使われる -->
<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">

<!-- favicon.svg(ダークモードで色を反転させる例) -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
  <style>
    path { fill: #1a1a1a; }
    @media (prefers-color-scheme: dark) { path { fill: #ffffff; } }
  </style>
  <path d="M4 4h24v24H4z"/>
</svg>
対象 ロゴがベクターで用意できるサイト・ダークモードで見え方を変えたい場合
補足 SVG ファビコンは Chrome・Firefox・Edge が対応しています。Safari は現時点で rel="icon" の SVG を読まないため、PNG・ICO のフォールバックは必須です。

パターン5:サブディレクトリ配置・キャッシュ更新

アイコンをルート以外に置く場合や、差し替えたのに古いアイコンが表示され続ける場合の書き方です。ファビコンはブラウザに強くキャッシュされるため、URL を変えるのが最も確実です。

<!-- 任意のディレクトリに置く場合はパスを明示する -->
<link rel="icon" href="/assets/icons/favicon.ico?v=2" sizes="any">
<link rel="icon" type="image/png" sizes="32x32" href="/assets/icons/favicon-32x32.png?v=2">
<link rel="apple-touch-icon" sizes="180x180" href="/assets/icons/apple-touch-icon.png?v=2">

<!-- サブディレクトリで公開しているサイト(例: /docs/)は絶対パスに注意 -->
<link rel="icon" href="/docs/favicon.ico" sizes="any">
対象 CDN 配信・アセットをまとめて管理しているサイト・アイコンを差し替えたとき
補足 /favicon.ico をルートに置く暗黙の探索だけはパスを変えられないため、サブディレクトリに置く場合も、ルートにコピーを1つ残しておくと取りこぼしがありません。

ファイルと表示場所の対応

どのファイルがどこで使われるかの一覧です。すべてを用意する必要はなく、対応したい環境に応じて選んでください。

ファイル サイズ 使われる場所
favicon.ico 16 / 32 / 48px ブラウザのタブ・ブックマーク・Windows のタスクバー。HTML に記述がなくてもルート直下が探索される
favicon-16x16.png 16×16 ブラウザのタブ(標準解像度ディスプレイ)
favicon-32x32.png 32×32 ブラウザのタブ(Retina 等の高解像度ディスプレイ)・ブックマークバー
apple-touch-icon.png 180×180 iOS / iPadOS のホーム画面に追加したときのアイコン。透過は黒く塗られる
android-chrome-192x192.png 192×192 Android のホーム画面アイコン(manifest 経由)
android-chrome-512x512.png 512×512 PWA のスプラッシュ画面・アプリ一覧(manifest 経由)
site.webmanifest PWA の設定ファイル。アイコン・テーマカラー・起動方法を宣言する
favicon.svg 可変 Chrome・Firefox・Edge。ダークモードでの色切り替えに対応できる
広告

Tips

  • 元画像は512×512px以上の正方形を用意すると、16pxまで縮めても輪郭が破綻しません。正方形でない画像は、このツールの切り抜き機能で必要な部分だけを正方形に切り出せます。
  • Lanczos3は縮小時に隣接ピクセルの重み付き平均を取りつつ、カーネルの負の部分でエッジを立てる方式です。ブラウザ標準の縮小より輪郭が残るため、文字やロゴを含むアイコンで差が出ます。
  • ICOは1ファイルに複数サイズを同梱できるのが最大の特徴です。16・32・48pxを入れておけば、タブ・ブックマーク・タスクバーそれぞれで最適な絵が選ばれます。
  • Apple Touch Iconは透過部分が黒く塗り潰される仕様のため、背景色を指定して不透明なPNGにしておくと安全です。余白は10%前後にすると、iOSの角丸マスクで端が欠けにくくなります。
  • ファビコンを差し替えてもブラウザのキャッシュが強く残ります。反映されない場合は ?v=2 のようなクエリをURLに付けるか、スーパーリロードをお試しください。
広告

よくある質問

あります。ICOは1つのファイルに複数解像度の画像を内包できる形式で、OSやブラウザが用途(タブ・ブックマーク・タスクバー・ショートカット)ごとに最適なサイズを選び取ります。32pxだけを入れておくと、16pxで表示する場面ではブラウザ側の縮小になり輪郭が甘くなります。16・32・48pxの3種を同梱しておくのが定番です。

ほとんどの場面ではPNGで足りますが、/favicon.ico はHTMLに記述がなくてもブラウザが暗黙に探しに行くパスとして今も生きています。RSSリーダー・ブックマークサービス・一部の検索クローラーなど、HTMLを解析せずルート直下のICOだけを取りに来るクライアントがあるため、ICOも併せて置いておくと取りこぼしがありません。

64px未満はBMP(32bit BGRA)、64px以上はPNGとして格納しています。ICOはVista以降どちらの形式も内包できますが、小サイズは互換性を優先してBMP、大サイズはファイルサイズを抑えるためPNGにするのが実務上の慣習であり、それに合わせています。

アップロード後に表示される切り抜き枠で、正方形の範囲を自由に選べます。枠はドラッグで移動、四隅で拡大縮小でき、常に1:1に固定されます。「全体に戻す」を押すと画像に収まる最大の正方形が中央に選択されます。

SVGは元画像として読み込めますが、出力はPNGとICOのみです。SVGファビコンを使う場合は元のSVGファイルをそのままサイトに置き、<link rel="icon" type="image/svg+xml"> で参照してください。SVGに対応しない環境のフォールバックとして、このツールで生成したICO・PNGを併記するのが確実です。
ツールくん

余談ですが ― 16ピクセルに絵を描くという難題

1999年、Internet Explorer 5 がお気に入り(ブックマーク)に小さなアイコンを表示する機能を実装しました。サイトのルートに favicon.ico を置くだけで拾われるという素朴な仕組みで、「favorite icon」を縮めた「favicon(ファビコン)」という呼び名もここから生まれています。HTMLの仕様に <link rel="icon"> が正式に載ったのはその後のことで、ルート直下のICOを暗黙に探しに行く挙動だけが後方互換として今も残り続けています。

ICOがWindowsのアイコン形式を流用した点は、結果的に大きな意味を持ちました。この形式は1つのファイルに複数の解像度を内包できるため、16pxのタブ表示と48pxのタスクバー表示でまったく別の絵を用意できます。これは単なる利便性の話ではありません。16×16という極端に小さなキャンバスでは、48px用のデザインを機械的に縮小しても細い線が消え、文字は判読不能になります。かつてのアイコンデザイナーが各サイズを手で描き分けていたのは、それが唯一の解決策だったからです。

現代のファビコン生成では手描きの代わりに、いかに賢く縮小するかが問われます。単純な平均(バイリニア)はエッジのコントラストを失い、逆に間引き(ニアレストネイバー)は細い線を丸ごと飛ばしてしまいます。Lanczos法はsinc関数を有限のローブで打ち切ったカーネルを使い、主ローブで元の情報を保ちながら、両脇の負のローブでエッジを持ち上げます。この「わずかに輪郭を強調する」性質が、小さなアイコンでは特に効きます。

その後もファビコンの要求は増え続けました。2007年のiPhone登場でApple Touch Icon(当初57px、現在は180px)が加わり、PWAの普及で192pxと512pxが必要になり、SVGファビコンとダークモード対応まで視野に入るようになっています。1ファイル置けば済んだ時代から見れば大げさですが、逆に言えば、ブラウザのタブに表示されるあの数十ピクセルは、それだけ多くのユーザーの目に触れているということでもあります。

広告