SVG转PNG
上传或粘贴 SVG 高清导出 PNG,1x-4x 倍率与自定义宽度,纯本地渲染不上传
在线 SVG 转 PNG 工具:支持拖拽上传 .svg 文件或直接粘贴 SVG 源码两种方式。渲染前自动净化源码(移除 script 脚本与所有 on* 事件属性), 按 width/height 或 viewBox 推导画布尺寸,提供 1x/2x/3x/4x 倍率导出与自定义宽度(px),透明背景为默认、可切换白底; 勾选多个尺寸可打包成 ZIP 一次下载。所有渲染均在浏览器本地完成,数据不上传服务器。
尺寸推导规则:优先使用根元素 width/height 属性,缺失时回退到 viewBox(支持逗号分隔写法);两者都没有时无法导出,请补充尺寸信息。
第一步 · 输入 SVG
拖拽 .svg 文件到这里,或点击选择
文件只在本机浏览器内解析,不会上传
预览
SVG 源图
PNG 导出结果
导出小贴士
- • 图标导出建议 2x/3x/4x 倍率,浏览器按矢量重新栅格化,边缘清晰不发虚
- • 透明背景适合叠加到其他素材上;白底适合贴到文档、PPT
- • 自定义宽度只给宽,高按 SVG 原始宽高比自动计算
- • 批量勾选多个尺寸会打包成一个 ZIP,文件名带尺寸标记
- • 若 SVG 引用了外部图片/字体,导出结果可能缺失该部分内容
# SVG 转 PNG 怎么导出才清晰?倍率、净化与常见问题
SVG转PNG 是一款纯本地的矢量图光栅化工具。SVG 是矢量格式,理论上可以无损放大,但很多场景(App 图标、微信头图、论坛附件、老旧系统) 只认 PNG 位图。本工具把 SVG 源码在浏览器内重新渲染到 canvas 再编码为 PNG:只要导出尺寸足够,边缘与曲线都按目标分辨率重新栅格化,清晰不糊。 全程本地计算,SVG 源码与导出结果都不上传服务器。
功能介绍
- 双输入方式:拖拽/选择 .svg 文件,或直接粘贴 SVG 源码文本,所见即所得。
- 源码自动净化:渲染前移除 script 脚本标签与所有 on* 事件属性,禁用 javascript: 伪协议链接,避免恶意代码执行。
- 智能尺寸推导:优先取根元素 width/height,缺失时回退 viewBox(兼容逗号分隔、小数、负 min-x 等写法)。
- 倍率与自定义导出:1x/2x/3x/4x 一键勾选,或输入自定义宽度(px),高度按原始比例自动计算。
- 透明/白底切换:默认导出带 alpha 通道的透明背景 PNG,可一键切换白底。
- 批量打包下载:勾选多个尺寸用 JSZip 打包成一个 ZIP,一次下载全部。
- 超大尺寸风险提示:单边超过 8192px 时提前告警,避免浏览器 canvas 静默失败。
使用场景
- 设计师交付 SVG 图标后,开发需要 2x/3x 多倍率 PNG 用于 App 资源目录(iOS @2x/@3x、Android mipmap)。
- 把 logo/插图导出为指定宽度的 PNG,用于公众号封面、邮件签名等只收位图的平台。
- 处理来自 Iconfont、Figma 导出的 SVG,快速生成 favicon、头像、水印底图。
- 给不认识 SVG 的老系统、打印机、文档模板准备白底位图。
常见问题 (FAQ)
为什么导出的 PNG 会模糊?
多数情况是按 1x 导出后又被二次放大。SVG 是矢量,导出时选 2x/3x/4x 或直接填目标宽度,浏览器会按目标分辨率重新栅格化, 边缘清晰。已经导出的 PNG 放大无法复原细节,请回到本工具用更高倍率重新导出。
SVG 里的脚本和事件会被保留吗?
不会。渲染前会自动净化:移除所有 script 标签、移除所有 on* 事件属性(onclick、onload、onerror 等)、禁用 javascript: 伪协议链接。 净化只影响安全性,不会改动图形元素本身。
没有 width/height 的 SVG 能导出吗?
可以,只要有 viewBox。工具会用 viewBox 的宽高作为画布基准(viewBox 支持空格或逗号分隔)。如果两者都没有, 尺寸无法推导,会明确报错提示,请补充根元素尺寸信息后重试。
导出尺寸有上限吗?
浏览器 canvas 单边普遍安全上限约 8192px(部分浏览器更宽,但内存消耗急剧上升)。勾选的尺寸单边超过 8192px 时会出现风险提示, 建议降低倍率;超大图建议分块或改用桌面工具。
SVG 里引用的外部图片会导出吗?
取决于浏览器同源与跨域策略,外链图片、外链字体经常无法在 canvas 中渲染,导出结果会缺失该部分。建议先用 Figma/Illustrator 把资源内联(转成 data URI 或路径化)再导出。