
ブラウザ別ファビコン最適化ガイド
SVG・PNG・ICOを組み合わせ、Chrome、Firefox、Safari、Edge、iOS、Android、Windowsで鮮明に表示する方法を解説します。

192×192・512×512のサイズ、80%のセーフエリア、マスカブルアイコン、manifest.jsonの設定方法を実例付きで解説します。
PWAのmanifest.jsonには、少なくとも192×192と512×512のPNGを登録します。Android向けには512×512のマスカブルアイコンも追加し、重要な要素を中央80%のセーフエリアへ収めてください。
purpose: "any maskable"で一つの画像を兼用せず、通常表示用とマスカブル用を分けます。通常版はキャンバスを広く使えますが、マスカブル版には端まで続く不透明な背景と切り抜き用の余白が必要です。
| サイズ | 優先度 | purpose | 主な用途 |
|---|---|---|---|
| 192×192 | 必須 | any | 小さめのインストール表示やホーム画面 |
| 512×512 | 必須 | any | 高密度画面や大きなアプリ表示 |
| 192×192 マスカブル | 推奨 | maskable | 小さなAndroidランチャー表示 |
| 512×512 マスカブル | 強く推奨 | maskable | 高密度画面でのアダプティブな切り抜き |
| 144×144、168×168、384×384 | 任意 | any | プロジェクトで個別の密度対応が必要な場合 |
| 1024×1024 | 任意 | any | 高解像度素材や将来の用途 |
実用的な最小構成: 通常版192×192、通常版512×512、マスカブル版512×512の3点です。
anyとmaskableの違いpurpose: "any"purpose: "maskable"any maskableを避ける理由マスカブル画像には切り抜き用の余白があります。同じファイルを通常アイコンとして表示すると、その余白まで残ってロゴが周囲より小さく見えます。そのため、web.devでも別々のエントリが推奨されています。
仕様上の最小セーフエリアは、画像中央にある半径が画像幅の40%に相当する円です。実際にデザインするときは、重要な内容を中央80%へ収め、四辺に約10%ずつ余白を取ると分かりやすくなります。
画像全体: 512 × 512 px
中央80%の範囲: 約410 × 410 px
四辺の余白: 約51 px
保証される円形領域: 半径205 pxランチャーの形状プレビューは確認用です。書き出すPNGは正方形のままで、最終的なマスクはOSが適用します。
manifest.jsonの設定例{
"name": "Your PWA Name",
"short_name": "YourPWA",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#000000",
"icons": [
{
"src": "/icons/icon-192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icons/icon-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icons/maskable-192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/icons/maskable-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
}
]
}HTMLからmanifestを参照します。
<link rel="manifest" href="/manifest.json">
<meta name="theme-color" content="#000000">アイコンのパスはmanifestのURLを基準に解決されます。それぞれのURLをブラウザで直接開き、404にならないことも確認してください。
元画像に透明部分があっても、書き出す前に不透明な背景へ合成すればマスカブル版として使えます。
複数の端末またはランチャーへインストールし、円形とスクワークル・角丸四角形の両方で見比べます。色、マスク、視覚効果の一部は端末側で決まります。
原因: purpose: "maskable"のエントリがありません。
対処: 独立したエントリを追加します。manifestの検証では画像の見た目まで確認されないため、追加後にセーフエリアも確認してください。
次の順に調べます。
<link rel="manifest">があるか。sizes、type、purposeが実ファイルと一致するか。原因: マスカブル画像に透明なピクセルが残っています。
対処: ブランドに合う不透明な背景で書き出し直します。通常のany画像は透明のままでも構いません。
原因: セーフエリア用の余白がある画像をanyにも使っています。
対処: 通常版とマスカブル版を別ファイルにします。
対応ランチャーはマスカブル版へ独自の形状を適用します。端末、ランチャー、壁紙、テーマによって最終表示が変わる場合があります。
Safariは、指定されている場合にapple-touch-iconを使います。安定した表示のため、180×180のPNGも用意してください。
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">Apple Touch Iconとマスカブルアイコンでは要件が異なります。一つの画像だけで両方を最適化できるとは限りません。
Windowsではショートカットやタスクバーに通常版のanyが使われます。現行macOSは、利用できる場合にマスカブル版を使い、なければanyへフォールバックすることがあります。
anyとmaskableが別エントリになっているheadからmanifestを参照している
SVG・PNG・ICOを組み合わせ、Chrome、Firefox、Safari、Edge、iOS、Android、Windowsで鮮明に表示する方法を解説します。

Complete technical guide for developers to integrate Logo Foundry assets into their projects efficiently

Master the art of creating perfect social media images for all platforms with up-to-date specifications
Join the community
Subscribe to our newsletter for the latest news and updates