CodeKitHub
图片工具

SVG 转 Favicon 生成器

最后更新:

上传一个 SVG logo,一次拿到网站需要的全部图标:真正的多分辨率 favicon.ico、浏览器和手机实际会用到的各尺寸 PNG 图标,以及可以直接粘进 <head> 的 HTML 代码。全程在浏览器本地渲染,SVG 不会离开你的设备。

工具介绍

favicon.ico 不只是一张小图——它是一种容器格式,可以在一个文件里塞进同一图标的多个尺寸,让浏览器、任务栏或书签栏根据显示位置自己挑最清晰的那份。把 PNG 直接改名成 favicon.ico 做不到这一点:那本质上还是一张 PNG,只是扩展名换了,虽然不少浏览器能容忍,但很多工具、爬虫和老浏览器读取原始字节时会按真正的 ICO 容器结构解析,遇到假的就出错或退回空白图标。

这个工具生成的是真正的 ICO 容器:把你的 SVG 分别渲染成 16×16、32×32、48×48,各自内部编码成 PNG,再按现代浏览器和操作系统自 Windows Vista 起统一支持的"ICO 内嵌 PNG"格式,把三份数据打包进同一个合法的 favicon.ico。除此之外还会单独生成 180×180(iOS 用户把网站添加到主屏幕时用的图标尺寸)以及 192×192 / 512×512(Android 和 PWA 安装提示从你的 web app manifest 里取用的尺寸)的 PNG 文件。

为什么使用它?

  • 生成真正合法的多分辨率 favicon.ico,不是改扩展名的假货。
  • 一次覆盖真实部署需要的全部图标尺寸:16、32、180、192、512px。
  • 可直接粘贴的 <head> HTML 代码,不用自己猜 rel/sizes/type 该怎么写。
  • 非正方形 SVG 会居中放在透明正方形里,而不是被拉伸变形。
  • 全程浏览器本地渲染,SVG 不会被上传。

使用方法

  1. 点击上传框或把 SVG logo 文件拖进去。
  2. 工具自动渲染所有 favicon 尺寸,不需要配置任何参数。
  3. 下载放到网站根目录的 favicon.ico,以及各个单独的 PNG 图标。
  4. 复制 HTML 代码段,粘贴进页面的 <head> 中。

示例

输入

logo.svg — 3 KB 的公司标志矢量文件

输出

favicon.ico(合并了16/32/48px),加上 favicon-16.png、favicon-32.png、apple-touch-icon.png(180px)、icon-192.png、icon-512.png

一个 SVG 进去,真实部署需要的全部图标文件出来。

各图标尺寸分别用在哪里

文件尺寸用途
favicon.ico16/32/48px(合并)浏览器标签页、书签栏、任务栏
favicon-16.png / favicon-32.png16×16 / 32×32偏好 PNG favicon 的浏览器的备用图标
apple-touch-icon.png180×180网站被添加到主屏幕时的 iOS 图标
icon-192.png192×192Android 主屏幕图标、web app manifest
icon-512.png512×512PWA 安装提示、Android 启动屏图标

为什么源文件必须是 SVG

因为 SVG 存的是数学描述的图形而不是像素,无论渲染成 16px 还是 512px,都是从同一份精确路径数据重新计算出来的——大尺寸端不会有放大失真,小尺寸端也不需要靠像素对齐的猜测来将就。如果你手头只有 PNG logo,这个工具帮不上忙;得先把 logo 转成或重新做成 SVG,因为把一张小 PNG 硬放大到 512px 只会得到模糊的结果。

→ SVG 转换器

常见问题

为什么不能直接把 PNG 改名成 favicon.ico?

.ico 文件有自己的二进制容器格式(一个记录图标数量的 ICONDIR 头,后面跟着每张图片各自的目录项)——把 PNG 改名成 .ico,里面依然是一张 PNG,只是扩展名换了。多数现代浏览器足够宽容,照样能渲染,但这个工具生成的是真正装着三种分辨率的 ICO 容器,这才是该格式本来的设计用途,也是更严格的读取方对它的预期。

已经有 favicon.ico 了,为什么还需要 PNG 图标?

favicon.ico 只覆盖经典的浏览器标签页/书签栏场景。180×180 的 PNG 是用户把网站添加到 iOS 主屏幕时用的图标(apple-touch-icon);192×192 / 512×512 的 PNG 则是 Android 和 PWA 安装提示从 web app manifest 里读取的尺寸。没有这些文件,手机主屏幕上的图标就会退回成通用截图或空白方块。

我的 logo 不是正方形,会怎么处理?

会在每个目标尺寸下居中放进透明正方形,而不是被拉伸——所以宽扁或竖长的 logo 会保持正确比例,不会被压变形。

下载的文件应该放在哪里?

把 favicon.ico、apple-touch-icon.png、icon-192.png、icon-512.png 放进网站根目录(和 index.html 同级),再把生成的 <link> 标签粘进页面的 <head> 里。

我的 SVG 会被上传到哪里吗?

不会。SVG 会被渲染到本地的 <canvas> 上,ICO/PNG 文件也在浏览器里拼装完成,没有任何数据发送到服务器。

相关工具