实用工具

SVG 转 PNG

把 SVG 图标和插画转成 1 到 4 倍或指定宽度的 PNG,背景可选透明或白色。

浏览器本地运行图片与颜色3835
免费
把文件拖到这里

或者点击选择文件。文件只在当前标签页里处理,不会上传到任何服务器。

应用商店、邮件客户端、Office 文档和大多数聊天软件至今不认 SVG,于是手里的矢量 Logo 或图标还得配一份 PNG,而且往往要 2 倍、3 倍给高分屏用。这个工具用浏览器自带的 SVG 引擎直接按目标尺寸绘制每个文件,所以放大多少倍边缘都锐利;它还会读取文件的 width、height 和 viewBox,即使 SVG 自己对尺寸语焉不详,也能把比例算对。

它是怎么工作的

  • 尺寸取自 width 和 height 属性(支持 px、pt、mm、in 等单位);没有时取 viewBox;两者都没有时,按浏览器默认的 300 × 150 处理。
  • 绘制前会给 SVG 根元素写上明确的像素宽高,缺 viewBox 的补一个——这正是很多文件放进 <img> 后空白或尺寸不对的解决办法。
  • 可以一次转换多个文件,文件名带上倍数,例如 logo@2x.png;背景默认透明,也可选白色。

你的数据去了哪里

哪也没去。本工具完全在你的浏览器里运行:你粘贴的文本由页面处理,不会传输到任何服务器,也不会写进任何日志。

本工具免费且无需登录,运行结果只存在于你当前的页面里,不会被保存到任何地方。

它要花多少

本工具完全免费,不需要登录,也不消耗积分。

常见问题

为什么转出来的 PNG 缺了文字或图片?
SVG 作为图片绘制时处于沙箱中:不能加载外部字体、链接的位图或样式表,脚本也会被忽略。用了系统里没有的字体的文字会退回默认字体。请在编辑器里把文字转成路径、把图片以 data URI 内嵌,再重新导出。
倍数该怎么选?
1 倍就是 SVG 自身的尺寸,2 倍适合 Retina 屏以及大多数应用商店和社交平台,3 倍、4 倍适合大幅印刷或需要放大查看的场合。如果目标是固定尺寸,比如 1024 像素的应用图标,就选“指定宽度”,高度会按比例自动计算。
为什么在别的软件里看效果不一样?
每个渲染器对 SVG 的实现都有细微差别,尤其是滤镜、蒙版和文字排版。这里用的是浏览器引擎,你的 SVG 多半本来就是在浏览器里检查效果的。若要在代码里做同样的转换,canvg/canvg 用 JavaScript 重新实现了 SVG 渲染。

背后的开源项目

本工具是独立实现,并未打包第三方库。canvg/canvg(MIT)在代码层面做的是同一件事——如果你需要在自己的程序里实现它,从那里开始,而不是调用一个网页。

canvg/canvg

也常被称作

  • svg转png
  • svg转png高清
  • svg转图片
  • svg转png透明背景
  • svg在线转换
  • svg导出png