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 文件也在浏览器里拼装完成,没有任何数据发送到服务器。

相关工具