🖼️ 输入 SVG

高度会按原图比例自动计算。

选 JPEG 导出时透明区域会被填成白色。

🖼️

粘贴 SVG 代码或上传文件,点「转换」。

📊 倍率怎么选

倍率适合场景说明
1x网页图标、普通配图体积最小,屏幕上看足够
2x retina 屏、App 图标最常用,兼顾清晰度与体积
3x高清展示、大屏文件明显变大
4x印刷、海报建议直接用矢量文件,位图放大不如原矢量

⚠️ 说明:转换在你的浏览器本地完成,SVG 与生成的图片不会上传到任何服务器。
两点限制需知悉:
① SVG 中引用的外部资源(外链图片、网络字体、外部 CSS)可能因跨域限制无法加载,导致转换结果缺少这些元素——建议先把外链图片转成内嵌的 data URL;
② SVG 中的脚本不会执行(这是浏览器的安全策略,也是好事)。
超大尺寸(如 8192px 以上)可能超出浏览器 canvas 上限而失败。

🖼️

在线 SVG 转 PNG

图片工具 完全免费 🌙 支持黑夜模式 🔒 本地转换,不上传 📐 1x~4x 倍率 🎨 透明背景

SVG 是矢量图,放大不失真,但很多地方只认 PNG:微信头像、PPT 贴图、某些后台上传接口、老版本 App……这时候就需要转一下。
这个工具用浏览器原生的渲染能力完成转换,图片不会离开你的电脑,也不用装任何软件。
怎么用:
① 粘贴 SVG 代码,或者上传 .svg 文件;
② 设输出宽度和倍率(2x 最常用);
③ 选背景:要透明就选透明,导 PNG;
④ 点「转换」→ 预览 → 下载。
关于倍率:SVG 是矢量的,放大本身不会失真,所以你设多大就渲染多大,不存在「放大会糊」的问题。这也是它比「把 PNG 拉大」强得多的地方。
两个坑要提前知道:
· 如果你的 SVG 里引用了外链图片或网络字体,可能因为跨域限制加载不出来,转出来的图会缺内容。解决办法是先把外链图片转成内嵌的 data URL;
· SVG 里的脚本不会执行,动画类 SVG 导出的是静态画面。

类别图片工具
技术Canvas drawImage + Blob
输出PNG / JPEG
数据本地处理,不上传

核心特性

代码粘贴与文件上传
1x~4x 倍率
透明背景
PNG / JPEG 导出
实时预览
文件大小显示
本地转换不上传
免安装

关于这个工具

怎么实现:
① 读取:文本框直接取字符串;文件用 `FileReader.readAsText`,两者都做基本的 `② 尺寸:优先读 SVG 上的 `width/height`,缺失时退回到 `viewBox` 推算,两者都没有则默认 300×150;
③ 转 data URL:把 SVG 字符串编码成 `data:image/svg+xml;charset=utf-8,...`(用 `encodeURIComponent` 避免中文与特殊字符出错),赋给 `Image.src`;
④ 绘制:`Image.onload` 后按倍率创建 canvas,非透明背景先 `fillRect` 打底,再 `drawImage` 缩放绘制;
⑤ 导出:`canvas.toBlob()` 生成 Blob → `URL.createObjectURL` 预览与下载,同时算出文件大小。
它不做:不批量转换、不改 SVG 内容、不执行 SVG 内脚本、不能加载跨域外链资源。

怎么用

  1. 第 1 步
    粘贴 SVG 代码,或点「选择文件」上传 .svg。
  2. 第 2 步
    设输出宽度与倍率(2x 最常用)。
  3. 第 3 步
    要透明背景就选「透明」+ PNG。
  4. 第 4 步
    点「🔄 转换」,确认预览效果。
  5. 第 5 步
    点「⬇️ 下载图片」保存。

更新记录

  • v1.0 2026-09-21 工具正式上线:基于浏览器原生 Canvas 渲染实现 SVG 转位图,支持代码粘贴与 .svg 文件上传、1x~4x 缩放倍率、透明 / 白 / 黑背景、PNG 与 JPEG 导出、实时预览与文件大小显示;自动从 width/height 或 viewBox 推算原始尺寸,比例锁定防变形。图片全程本地处理不上传,适配黑夜模式。

常见问题

转换出来的图和原图不一样,缺了内容?
最常见原因是外链资源加载失败:
· SVG 里用 `` 引用的网络图片,会因为跨域限制画不出来;
· 引用了 `@font-face` 网络字体的文字,可能回退成默认字体。
解决办法:把外链图片转成内嵌 data URL(可以用本站的「图片转 Base64」工具),字体尽量转成路径或改用系统字体。
另一种情况:SVG 里有动画或脚本——它们不会执行,导出的是静态首帧。
提示转换失败 / 图片是空白的?
通常有三种原因:
① SVG 代码不完整:必须包含 ``,缺少 `xmlns` 命名空间浏览器会拒绝渲染;
② 尺寸解析失败:既没有 width/height 也没有 viewBox,工具会退回 300×150;
③ 尺寸超限:输出宽 × 倍率太大(接近或超过 8192px)会超出 canvas 上限。
建议先确认 SVG 能在浏览器里正常打开,再粘贴进来。
为什么我设了透明背景,导出的 JPEG 却是白的?
因为 JPEG 格式本身不支持透明通道,这是格式限制,不是工具的问题。
透明区域在导出 JPEG 时会被填成白色(本工具的处理方式)。
如果需要透明背景,请选择 PNG 格式导出。
能一次转换多个 SVG 吗?
暂不支持批量。当前版本一次只能处理一个 SVG。
如果需要批量转换,建议:
· 用命令行的 rsvg-convert 或 inkscape --export-type=png;
· 或用 Node 的 sharp 库写个小脚本,效率会高很多。
图片会上传吗?公司内部的图标安全吗?
不会上传。整个转换过程(读取 → 编码 → 渲染 → 导出)都在你的浏览器本地完成,没有任何网络请求,SVG 源码和生成的图片都不会离开你的电脑。
这也是它相比很多在线转换站的核心优势——处理公司内部素材、未发布的品牌图标时更安全。

💬 留言板 0

全部留言需审核通过后展示
💬

还没有留言,来抢沙发吧!

✍️ 说点什么
0 / 500
图形验证码