博客
简体中文

SVG转PNG — 任意倍数,保留透明

按倍数或宽度把 SVG 转换为 PNG、JPG、WebP 的浏览器工具

在浏览器中处理 · 不上传任何内容

SVG 来源

把 SVG 文件拖到这里

将一个 SVG 文件(最大 10 MB)转换为 PNG、JPG 或 WebP。文件不会离开你的浏览器。

格式
尺寸
背景

PNG 和 WebP 会保留透明。图标用 2–4× 保存,在高分辨率屏幕上也清晰。

功能简介

把 SVG 矢量图转换为 PNG 等普通图片的工具。SVG 放大到任何尺寸都清晰,但聊天软件、办公软件、社交网络和许多上传表单都不支持它。选好倍数或宽度,保存为 PNG,就能随处使用。可以拖入文件,也可以粘贴 SVG 代码,透明会被保留。

使用方法

  1. 选择 文件 并拖入 SVG,或选择 粘贴代码 并粘贴以 <svg> 开头的代码。
  2. 在 格式 中选择 PNG、JPG 或 WebP。
  3. 在 尺寸 中选择 1× 到 4×,或输入像素宽度。
  4. 背景保持透明或用颜色填充。JPG 总是会填充。
  5. 确认预览后点击 保存 PNG。

工作原理

  • 原始尺寸:取根元素 <svg> 的 width 和 height(px、pt、mm、cm、in 会换算为 CSS 像素);只有其中一个时,另一个按 viewBox 的比例计算。百分比不作为尺寸使用。
  • 缩放:把 width 和 height 设为输出尺寸,缺少 viewBox 时按原始尺寸补上,整个画面随之缩放。
  • 绘制:浏览器把 SVG 当作图片绘制,再把结果复制到画布上。这种模式下外部文件永远不会加载,脚本也不会运行(SVG 作为图片时的安全规则)。
  • 提示:外部引用、文字(字体)、foreignObject、脚本和动画会提前提示。动画保存为第一帧。
  • 限制:每边 16,384 px,iPhone 和 iPad 上为 16,777,216 像素;超过时会缩小输出。

示例

SVG 设置 结果
icon.svg(viewBox 0 0 24 24) 4× PNG,透明 icon.png 96×96,透明
logo.svg(width 200,height 80) 宽度 1000 px logo.png 1000×400
chart.svg(无尺寸) 2× JPG,白色 chart.jpg 600×300

需要整套网站图标请用网站图标(favicon)生成器;要把 PNG 转成其他格式,请用图片格式转换。

常见问题

应该用多大的倍数?

大多数网页图标和 logo 用 2× 就够了;用于印刷或高分辨率屏幕请用 3× 或 4×。需要精确尺寸时选择“自定义宽度”,例如 1024 px,高度会按宽高比自动计算。

转换后字体变了。

把 SVG 作为图片绘制时,浏览器不会获取 SVG 外部的字体文件,文字会用你设备上安装的字体显示。要保持设计效果,请先在 Illustrator、Figma 或 Inkscape 中把文字转为轮廓(路径)。

图片有一部分缺失。

出于安全原因,SVG 引用的外部文件(其他地址上的图片或 CSS)不会加载,这些部分会是空的。工具会列出它们;把它们以 data URI 形式嵌入 SVG 后再试一次。

SVG 没有指定尺寸怎么办?

没有 width 和 height 时使用 viewBox 的尺寸;两者都没有时使用浏览器默认的 300×150 px。页面会先显示采用了哪个依据,再应用倍数。

我的 SVG 会被发送到服务器吗?

不会。读取和绘制都在浏览器中进行。

没找到想要的工具?