本文へスキップ

ファビコン作成ツール(ICO・PNG)

画像や文字・絵文字からファビコンを作成します。favicon.ico(16・32・48px)、Appleタッチアイコン(180px)、Webアプリ用の192・512px PNGとHTMLコードをまとめてダウンロードできます。

結果

画像を入れると、favicon.ico・PNGアイコン・HTMLコードがここに表示されます。

ファイルはこの端末の中だけで処理され、サーバーには送信されません。 仕組みを見る

星アイコンをICO・PNGと小さなファビコンサイズに変換

使い方

作り方を2つから選んでください。

  • 画像から作る:ロゴ画像をドラッグするか、クリックして選ぶか、コピーした画像をCtrl+V(Macは⌘+V)で貼り付けてください。PNG、JPG、WebP、SVGを10MBまで入れられます。正方形でない画像は「中央に収める(余白)」で全体を入れるか、「中央を切り抜く」で中央部分だけを使えます。余白と透明部分は透明のままにするか、好きな色で塗ることができます。
  • 文字・絵文字から作る:1〜2文字を入力し、背景色、文字色、形(四角・角丸・円)を選んでください。フォントは端末に入っているシステムフォントを使うため、絵文字は端末によって見た目が少し異なることがあります。

結果には16・32・48・180pxのアイコンが実寸で表示され、16・32・48pxのアイコンは拡大した表示も並びます。ライトテーマとダークテーマのブラウザのタブでどう見えるかも確認できます。ファイルは1つずつダウンロードするか、「まとめてダウンロード(ZIP)」で一度に受け取れます。

元画像は512px以上をおすすめします。それより小さいと、元画像より大きいアイコンは引き伸ばされてぼやけることがあるため、警告を表示します。

警告でどの辺を見るかは「正方形にする方法」の設定で変わり、「中央に収める(余白)」では長辺、「中央を切り抜く」では短辺が基準です。たとえば800×400pxの画像は、「中央に収める(余白)」なら警告が出ませんが、「中央を切り抜く」に変えると400pxが基準になり、警告が出ます。このとき引き伸ばされるのは512pxのアイコンだけで、残りの5サイズは400pxから縮小して作ります。SVGはサイズごとに描き直すため、警告は出ません。ただし、外部のフォントや画像を読み込むSVGは、ICO・PNGのファイルでその部分が抜けることがあるので、「プレビュー」で確認してください。大きな画像は半分ずつ段階的に縮小し、小さいサイズでも粗くならないようにしています。

SVGはimg要素で描画して変換するため、SVG内のスクリプトは実行されません。

画像モードと文字モードの形状設定: 「形」(四角・角丸・円)は「文字・絵文字から作る」にしかありません。「画像から作る」は画像を正方形に合わせるだけで、角を落とすことはしません。丸いアイコンが必要なときは、丸い形の外側にあたる四隅を透明にした画像をアップロードし、「余白・透明部分の背景」を「透明」のままにしてください。画像の透明な部分は、favicon.ico、icon-192.png、icon-512.pngにそのまま残ります。

作成されるファイルとサイズ

ファイル サイズ 使われる場所
favicon.ico 16・32・48px ブラウザのタブ
favicon.svg 元のまま ブラウザのタブ(SVGをアップロードしたときのみ)
apple-touch-icon.png 180×180px iPhone・iPadのホーム画面
icon-192.png、icon-512.png 192・512px Webアプリマニフェスト(Androidのホーム画面など)
site.webmanifest — Webアプリマニフェストのファイル

MicrosoftのICO形式の文書では、よく使われるアイコンサイズとして16・32・48pxを挙げているため、favicon.icoにはこの3サイズを入れます。この3サイズのアイコンはPNGとして別には出力されず、favicon.icoの中にだけ入っています。Appleの文書はiPhoneのRetinaディスプレイ用のapple-touch-iconのサイズとして180×180pxを例に挙げ、<link>がない場合はサイトのルートでapple-touch-icon.pngのような名前のファイルを探すと説明しています。web.devによると、Chromium系のブラウザではWebアプリマニフェストに少なくとも192×192pxと512×512pxのアイコンが必要で、マニフェストファイルの拡張子には仕様が勧める.webmanifestを使います。

apple-touch-iconはホーム画面に置かれるアイコンなので、透明部分を残さず背景を塗って作ります。画像から作るときに「余白・透明部分の背景」で「透明」を選んだ場合は、白で塗ります。文字・絵文字から作るときは、選んだ形に関係なく四角全体を背景色で塗ります。

ICOファイルにPNGを入れる仕組み

ICOファイルは、複数のサイズの画像を1つのファイルにまとめる形式です。先頭の6バイトのヘッダー(ICONDIR)に予約値0、種類1(アイコン)、画像の数を書き、その後に画像ごとの16バイトの項目(ICONDIRENTRY)で幅・高さ、データの長さ、データの開始位置を書きます。そのため、ICOファイルは必ず00 00 01 00のバイトで始まります。

もともとICOにはビットマップデータを入れていましたが、Windows Vista以降は画像の場所にPNGファイルをそのまま入れる方式も使えます。この場合のデータはPNGシグネチャで始まる32ビットARGBのPNG画像で、透明度はPNGのアルファチャンネルから取られます。このツールは16・32・48pxのPNGをこの方式で入れてfavicon.icoを作ります。別のライブラリを使わず、ブラウザ内でファイル構造を直接書き出します。

「まとめてダウンロード」のZIPファイルもブラウザ内で作ります。PNGとICOはすでに圧縮されたファイルなので再圧縮はせず、PKWAREのZIP仕様にある無圧縮(store)方式とCRC-32のチェック値でまとめます。

HTMLへの入れ方

  1. ダウンロードしたファイルを、サイトの一番上のフォルダ(ルート)にアップロードしてください。
  2. 結果の「HTMLの<head>に入れるコード」をコピーし、すべてのページの<head>内に貼り付けてください。
<link rel="icon" href="/favicon.ico">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">

SVGをアップロードした場合は、<link rel="icon" href="/favicon.svg" type="image/svg+xml">がfavicon.icoの次の行に加わります。MDNによると、rel="icon"のリンクが複数あるとき、ブラウザはtype・sizes・mediaを見て最も適したものを選び、同じくらい適していれば最後のものを使います。SVGに対応していないブラウザはfavicon.icoを使います。favicon.svgはアップロードしたファイルそのままです。「中央を切り抜く」や「色で塗る」で選んだ設定はICOとPNGのファイルにだけ反映され、favicon.svgには反映されません。すべてのアイコンを同じ見た目にそろえたいときは、HTMLコードからfavicon.svgの行を消し、そのファイルも置かないでください。

このコードでrel="icon"として指定されるファイルは、favicon.icoと、SVGをアップロードしたときのfavicon.svgだけです。そのため、文字・絵文字や、PNG・JPG・WebPの画像から作った場合にHTMLコードからfavicon.icoの行を消すと、rel="icon"の行が1つも残りません。apple-touch-icon.pngはrel="apple-touch-icon"からだけ、icon-192.pngとicon-512.pngはsite.webmanifestからだけ参照されます。

HTML標準には、ページにrel="icon"のリンクがなければ、ブラウザは代わりに/favicon.icoを要求することがあると書かれています。リンクを入れる場合でも、favicon.icoはルートに置いておくのが安全です。すでにWebアプリマニフェストがある場合は、新しいファイルの代わりに結果のiconsの部分だけを既存のマニフェストに移してください。

参考資料

よくある質問

「正方形にする方法」のボタンが押せません。

幅と高さが同じ画像を入れると、「中央に収める(余白)」と「中央を切り抜く」は両方とも無効になります。すでに正方形なので、どちらを選んでも結果が同じだからです。ファイル名の横のサイズが数字ではなく「—」と表示されるSVGも正方形として扱い、2つのボタンを無効にします。「余白・透明部分の背景」はこのときも選べます。

文字を3つ入れたら、プレビューが消えてしまいました。

文字が2つを超えると「2文字まで入力できます。」という案内が出て、2文字以下に減らすまでファイルは作られません。文字数は画面に見える文字を単位に数えます。👨‍👩‍👧のような家族の絵文字や🇰🇷のような国旗の絵文字は1文字なので、もう1文字と組み合わせて入力できます。前後の空白は数えませんが、文字の間の空白は1文字として数えるため、「A B」は3文字です。

ファイルをサイトのルート以外のフォルダに置いてもいいですか?

置けます。ただし、このツールにはパスを変える設定がないので、URLを自分で書き換える必要があります。HTMLコードのhrefとsite.webmanifestのsrcは、どれも/favicon.icoのように/で始まる、ルートを基準にしたURLです。たとえば/assets/フォルダに置く場合は、HTMLコードのhrefを行ごとに/assets/favicon.icoのように書き換え、site.webmanifestのsrcの2か所も/assets/icon-192.pngと/assets/icon-512.pngに書き換えてください。

背景が透明なロゴが、暗いタブで見えにくいです。

「余白・透明部分の背景」を「色で塗る」に変えて、「背景色」を選んでください。最初の色は白(#ffffff)です。選んだ色がfavicon.icoとすべてのPNGの透明な部分に敷かれ、プレビューの「ダークテーマ」のタブの絵に結果が表示されます。「透明」のままにすると、apple-touch-icon.pngだけが白い背景になり、ほかのファイルは透明のまま残ります。

ファビコンを変更しても以前のアイコンが表示される場合は?

ブラウザはファビコンをページとは別にキャッシュしているため、新しいファイルをアップロードしても古いアイコンがしばらく表示されることがあります。その場合は次を試してください。 • HTMLで指定するファイルのURLの末尾にバージョンを付けてください。例:href="/favicon.ico?v=2"。アドレスが変わると、ブラウザは新しいファイルを取得します。このツールが作るHTMLコードにはバージョンは入っていないので、自分で書き足す必要があります。SVGをアップロードした場合、rel="icon"の行はfavicon.icoとfavicon.svgの2つあり、どちらにもバージョンが必要です。icon-192.pngとicon-512.pngのURLはHTMLではなくsite.webmanifestのsrcに書かれているので、この2つのファイルを変えたときはそちらのURLを直してください。 • スーパーリロード(WindowsはCtrl+Shift+R、Macは⌘+Shift+R)をするか、シークレットウィンドウで開いて確認してください。 • サーバーやCDNのキャッシュ設定のせいで古いファイルが配信されていないか確認してください。

最終更新日: