iPhoneで自分のWebアプリを開き、アドレスバーをタップしたとき、「お気に入り」一覧に味気ないグレーの四角形が表示された経験はありませんか?もしそうなら、あなたの favicon for ios safari の設定は不完全です。ルートディレクトリに ico ファイルを置くだけでは、iOS Safariで完璧なFaviconを表示することはできません。Appleのモバイルブラウザは、タブバー、ブックマークメニュー、新規タブのグリッドに対して、独自の厳格なレンダリングルールを持っています。
Lineやメルカリなどのサイトを見てください。iOS Safariのお気に入りに保存しても、ぼやけて引き伸ばされた32x32の画像にはなりません。ネイティブアプリのように鮮明で、完璧な比率のアイコンが表示されます。これは偶然ではなく、WebKitの要件に直接合わせた特定のアセットを提供しているからです。
今すぐ、あなたのiOS Safariのアイコンを修正しましょう。
iOS Safariアイコンの3つの表示場所
コードを書く前に、iOS Safariが実際にあなたのブランドをどこに表示するのかを理解する必要があります。主に以下の3つの場所にアイコンが表示されます。
- お気に入りグリッド:ユーザーが新しいタブを開くか、アドレスバーをタップしたとき。
- タブバー:複数のタブが開いているとき、画面の下部(または上部)に表示されます。
- ホーム画面:ユーザーが「ホーム画面に追加」をタップしたとき。
ホーム画面用のApple Touch Iconガイドは別途用意していますが、ここでの焦点はSafariブラウザのUIをシャープに見せることです。
ステップバイステップ:iOS Safari向けFaviconの最適化
1. 180x180の不透明なPNGを作成する
iOS Safariは、お気に入りグリッドの表示に apple-touch-icon を強く依存しています。ここで絶対に譲れないルールは、サイズと背景です。180x180ピクセルのPNGが必要です。さらに重要なのは、背景を透明にしてはいけないということです。
iOS Safariに透明なPNGを渡すと、透明な部分が強制的に真っ黒に塗りつぶされます。ロゴが黒背景用にデザインされていない限り、これは非常に見栄えが悪くなります。書き出す前に、アイコンにベタ塗りの背景色(白やブランドのメインカラーなど)を設定してください。
2. モダンなSVGアイコンを実装する
実際のタブバーUIに対して、iOS Safariはスケーラブル・ベクター・グラフィックス(SVG)を好みます。iOS 15以降、SafariはSVG Faviconをサポートしており、ユーザーのズームレベルやデバイスの解像度に関係なく、アイコンが常にシャープに保たれます。
SVG内でCSSメディアクエリを使用してダークモードをサポートすることもでき、ユーザーがシステムテーマを切り替えたときにタブアイコンが見えなくなるのを防ぐことができます。
3. HTMLの実装
2026年のiOS Safariを満足させるために <head> に必要な正確なマークアップは以下の通りです。無駄なレガシーサイズを大量に記述してドキュメントを肥大化させる必要はありません。
<!-- Safariのタブバー用コアSVG -->
<link rel='icon' href='/icon.svg' type='image/svg+xml'>
<!-- Safariのお気に入りとホーム画面用 180x180 不透明PNG -->
<link rel='apple-touch-icon' href='/apple-touch-icon.png'>
<!-- PWA機能用 Web Manifest -->
<link rel='manifest' href='/site.webmanifest'>4. Web Manifestの設定
これまでAppleはWeb Manifestを無視してきましたが、2026年現在、iOS SafariはプログレッシブWebアプリ(PWA)に対してこれを尊重するようになっています。ユーザーがサイトをホーム画面に追加すると、Safariはマニフェスト内のアイコン定義を確認します。詳細についてはWeb App Manifest Faviconガイドをお読みいただきたいですが、最低限、site.webmanifest ファイルに192x192と512x512のアイコンを含めてください。
iOS Safariのよくある落とし穴
正しいコードを書いても、問題が発生することがあります。開発者がよく犯す間違いをいくつか紹介します。
Precomposedタグの使用
何年も前、開発者はiOSがアイコンに光沢(グロス)効果を追加するのを防ぐために apple-touch-icon-precomposed を使用していました。AppleはiOS 7でその光沢効果を廃止しました。HTMLにまだprecomposedタグが残っている場合は、削除してください。これは無駄な記述であり、Safariに余分なタグの処理を強いるだけです。
セーフゾーンの無視
180x180のPNGをデザインする際、ロゴを端ギリギリまで配置しないでください。iOSは、お気に入りグリッドのアイコンに角丸長方形のマスクを適用します。ロゴがキャンバスの端に触れていると、角が切り落とされてしまいます。メインのアートワークは、中央の約120x120ピクセルのセーフゾーン内に収めるようにしてください。
強力なキャッシュ
Safariはアイコンを強力にキャッシュします。apple-touch-icon.png を更新しても、iPhone上で数日間変更が反映されないことがあります。開発中に強制的に更新するには、アセットURLにクエリ文字列を追加するか(例:href='/apple-touch-icon.png?v=2')、SafariのWebサイトデータを完全に消去してください。
最も簡単な解決策
画像を手動でリサイズし、透明度を削除し、Web Manifest用のJSONを書くのは面倒です。開発者にはもっとやるべきことがあります。高解像度のロゴをMzu favicondlに通すことをお勧めします。iOS向けの不透明背景の要件を自動的に処理し、正確な180x180サイズを生成し、必要なクリーンなHTMLコードを出力してくれます。
アイコンを正しく設定すれば、あなたのWebアプリはすべてのiPhoneで一流のネイティブアプリのように感じられるはずです。