深度解析

favicon 尺寸完全參考:ICO、PNG、SVG 怎麼選

koboshiCo-founder
·2 分鐘閱讀
概述

favicon 沒有唯一的尺寸——大約有六個,各屬不同的場景。這份參考指南把每個尺寸對應到它的用途和格式,並給出可以直接上線的完整 head 宣告程式碼。

本教學使用免費的批次 PNG 轉 ICO——它完全在你的瀏覽器中執行。開啟工具

直接回答:favicon 沒有唯一的尺寸。瀏覽器分頁要 16×16,它的高解析度兄弟要 32×32,Windows 捷徑要 48×48,iOS 主畫面要 180×180,Android 要 192×192 和 512×512。涵蓋前三者的經典做法是一個 ICO 檔案;其餘的是幾個 PNG 加幾行宣告。本文就是完整的地圖:每個尺寸、用在哪、以及遞送它的準確程式碼。

尺寸對照表

尺寸使用場景格式
16×16瀏覽器分頁、網址列、瀏覽紀錄ICO
32×32高 DPI 分頁、Retina 螢幕ICO
48×48Windows 桌面捷徑、安裝圖示ICO
180×180iOS 主畫面(apple-touch-icon)PNG
192×192Android 主畫面、Chrome 應用程式列表PNG
512×512Android 啟動畫面、PWA 安裝PNG

六個尺寸涵蓋所有主流場景。下文解釋每一列為何存在,以及邊角情況在哪裡。

ICO:一個檔案裝三個尺寸

ICO 容器是 favicon 的原始格式,它唯一的超能力是在單個檔案裡裝多個解析度。一個構建良好的 favicon.ico 裝著 16、32 和 48;瀏覽器或作業系統讀檔案開頭的目錄,挑出合適的條目。這個目錄的位元組級佈局見我們的 ICO 格式深度解析

之所以要手工製作小尺寸而不是讓渲染器直接縮小你的標誌:16×16 一共只有 256 個像素。自動縮小會把精細圖形糊成一團;為這個尺寸專門繪製或至少修過的版本才能保持可辨認。把原圖拖進 PNG 轉 ICO,標準尺寸會自動打包好。

兩個事實讓 ICO 在 2026 年依然繞不開。有史以來每個瀏覽器都讀它。而且瀏覽器會對任何沒有宣告的頁面自動請求 /favicon.ico——RSS 閱讀器、連結預覽和爬蟲也會往那裡找。根目錄放一個 favicon.ico,是白送的涵蓋面。

PNG favicon 與 sizes 屬性

現代瀏覽器接受按尺寸宣告的 PNG favicon:

<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png" />

sizes 屬性的意義在於讓瀏覽器在下載之前就能選——沒有它,所有宣告的檔案可能都被下載,事後才分勝負。同解析度下 PNG 比 ICO 小,產生也更簡單,但它只在瀏覽器看得懂這些宣告的地方有效。老瀏覽器完全無視它們——所以 PNG 是 ICO 的補充,不是替代。

apple-touch-icon:180×180

當有人把你的網站存到 iOS 主畫面時,Safari 會找 apple-touch-icon.png。標準尺寸是 180×180;iOS 會為更小的場景自行縮小,而且——這點常讓人意外——它會自己給圖示加圓角、還可能加背景。所以交付一張方形、不透明背景的圖;透明區域在老版本 iOS 上會被合成到黑色上。

<link rel="apple-touch-icon" href="/apple-touch-icon.png" />

即使不寫這行標籤,這個檔案也會按慣例從 /apple-touch-icon.png 被請求,和 favicon.ico 一個道理。

Android 和 Chrome:manifest 裡的 192 和 512

Android 上的 Chrome 從 web app manifest 讀圖示。重要的尺寸有兩個:主畫面圖示 192×192,啟動畫面和安裝提示 512×512。

{
  "icons": [
    { "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" },
    { "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" }
  ]
}

在頁面裡引用一次 manifest:

<link rel="manifest" href="/site.webmanifest" />

SVG favicon:有前途,但還不夠

SVG favicon 一個檔案適配所有場景,Chromium 和 Firefox 多年前就支援了:

<link rel="icon" type="image/svg+xml" href="/icon.svg" />

釘子戶是 Safari,至今仍無視 SVG favicon——它唯一的類 SVG 機制是 mask-icon:給固定分頁用的單色 SVG,帶主題色:

<link rel="mask-icon" href="/icon-mask.svg" color="#1a1a1a" />

SVG 是疊在 ICO 和 PNG 之上的優秀漸進增強。但它還不是替代品。

完整的 head 宣告

<link rel="icon" href="/favicon.ico" sizes="any" />
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png" />
<link rel="icon" type="image/svg+xml" href="/icon.svg" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
<link rel="manifest" href="/site.webmanifest" />

六個檔案,六行程式碼,全場景涵蓋。ICO 那行的 sizes="any" 告訴瀏覽器容器裡有多個解析度,讓它挑選而不是預設 16×16。

產生這些檔案

從一張 512×512 以上的方形原圖開始,然後:用 PNG 轉 ICOWebP 轉 ICO 打包容器,縮出 180/192/512 的 PNG,manifest 手工接好。從原始標誌到上線圖示的完整流程見 如何製作 favicon。轉換器裡的一切都在你的瀏覽器本機運作——整個過程中唯一的上傳,是你自己把檔案推到你自己的伺服器上。

準備好試試看了嗎?

免費且不限次數。無需上傳、無需註冊——你的檔案永遠不會離開你的裝置。

開啟批次 PNG 轉 ICO

更多推薦閱讀