输入有效的 Base64 SVG 数据后,将自动生成预览、源码和下载链接
Base64 转 SVG 是把一段 Base64 编码还原成 SVG 源代码的过程。SVG 是一种基于 XML 的矢量图格式,图标、Logo、插画和图表都可以用它描述。把 SVG 写进 HTML、CSS、邮件或接口字段时,通常先做 Base64 编码,避免尖括号和引号破坏原有语法;需要查看或编辑时,再解码回 <svg> 代码。
本工具同时接受纯 Base64 字符串和带 data:image/svg+xml;base64, 前缀的 Data URI,会自动去掉空白字符、兼容 URL 安全字符,并在解码后检查是否包含 <svg> 根标签,减少把普通图片或乱码当成 SVG 的情况。
常见场景包括:还原设计稿或图标库导出的内联 SVG;检查接口返回的 Base64 图标内容;从邮件模板、CMS 富文本字段里取出 SVG 并另存为文件;排查线上页面中某个内联矢量图为什么显示异常。相比重新找原图,直接解码现有数据更快,也不用装额外软件。
解码完成后,你可以直接在浏览器里预览图形效果,复制完整的 SVG 源码继续编辑,或下载为 .svg 文件交给设计工具、代码仓库或构建流程使用。
Base64 把每 3 个字节拆成 4 个 6 位单元,再映射到 64 个可打印字符。解码时按相反顺序还原字节流,得到 SVG 的 UTF-8 文本,然后交给浏览器按 XML 解析。因为 SVG 本质是文本,所以解码结果必须能按 UTF-8 正常读取,并且包含 <svg> 开始标签;二进制图片的 Base64 即使能解码,也不会被当成 SVG。工具遵循 RFC 4648 标准,接受标准 Base64 与 URL 安全的 - _ 变体,并自动补齐缺失的 = 填充符。
把 Base64 文本粘贴到输入框。可以只粘贴数据部分,也可以连同 data:image/svg+xml;base64, 前缀一起粘贴,换行和空格不影响解码。
输入后工具会立即在本地解码,按 UTF-8 还原文本,并检查是否包含 <svg> 标签。格式不对时会直接给出错误提示,不会生成空文件。
校验通过后,上方显示 SVG 预览,下方展示解码后的完整源码和字符数。你可以快速确认图形是否正确、是否为预期的那一份文件。
点击"复制源码"把 <svg> 代码放进剪贴板,或点击"下载 SVG"保存为 .svg 文件。所有操作都在浏览器内完成,图片不会上传到服务器。
解码得到的是原始 SVG 代码,不是截图或位图。无论放大多少倍,边缘都保持清晰,适合图标、Logo 和线稿。
支持纯 Base64、data:image/svg+xml;base64 以及带 charset 参数的 Data URI,复制来的内容可以直接粘贴。
自动处理换行、空格、URL 安全的 - _ 字符和缺失的 = 填充符,减少因复制不完整导致的解码失败。
解码后展示完整 XML 源码,可直接复制到代码编辑器里修改颜色、尺寸和路径,不用再找原始文件。
解码、预览和下载都在浏览器中完成,内容不会上传。处理内部系统图标或未公开的设计素材时更放心。
打开页面即可使用,没有次数限制,不需要登录,也不依赖任何插件或客户端。
严格校验,减少误判
工具会先确认 Base64 字符是否合法、长度是否能补齐,再按 UTF-8 解码并检查 <svg> 根标签。不符合条件时说明具体原因,而不是给出一个无法打开的 .svg 文件。对于带 Data URI 前缀的内容,还会确认 MIME 类型是否为 SVG。
本地处理,数据不出设备
所有解码和预览操作都在你的浏览器中执行,我们不会收集、存储或传输你粘贴的内容。即使 SVG 来自未公开的项目、内部系统或客户素材,也可以放心处理。
10+种 Base64 解码格式
10+种 Base64 编码格式
全方位的功能支持
Java 中可以用 java.util.Base64 解码字符串,得到字节数组后写入 .svg 文件。若输入带 Data URI 前缀,先截取逗号后的内容再解码。
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Base64;
public class Base64ToSvg {
public static void main(String[] args) throws Exception {
// 读取保存的 Base64 文本
String raw = Files.readString(Paths.get("svg-base64.txt"), StandardCharsets.UTF_8).trim();
// 如果带 Data URI 前缀,只取逗号后面的数据
if (raw.contains(",")) {
raw = raw.substring(raw.indexOf(',') + 1);
}
// 解码并写入 SVG 文件
byte[] svgBytes = Base64.getDecoder().decode(raw);
Files.write(Paths.get("image.svg"), svgBytes);
}
}Python 使用标准库 base64.b64decode() 还原字节,再按 UTF-8 解码成文本并写入文件。带前缀时用 split(",", 1) 去掉前缀。
import base64
raw = open("svg-base64.txt", encoding="utf-8").read().strip()
if "," in raw:
raw = raw.split(",", 1)[1]
svg_bytes = base64.b64decode(raw)
svg_text = svg_bytes.decode("utf-8")
print(svg_text[:80])
with open("image.svg", "w", encoding="utf-8") as f:
f.write(svg_text)浏览器里先用 atob() 得到二进制字符串,再通过 TextDecoder 按 UTF-8 还原文本;Node.js 中直接用 Buffer.from(base64, "base64").toString("utf8")。
// 浏览器环境:Base64 转 SVG 源码
const raw = "PHN2ZyB4bWxucz0i..."; // 可带 Data URI 前缀
const pure = raw.includes(",") ? raw.split(",")[1] : raw;
const binary = atob(pure);
const bytes = Uint8Array.from(binary, ch => ch.charCodeAt(0));
const svgSource = new TextDecoder("utf-8").decode(bytes);
// 生成可预览的 Blob URL
const img = new Image();
img.src = URL.createObjectURL(new Blob([svgSource], { type: "image/svg+xml" }));
// Node.js
// const svgSource = Buffer.from(pure, "base64").toString("utf8");Base64 转 SVG 是把 Base64 编码的字符串还原为 SVG 源代码。SVG 是文本格式的矢量图,Base64 只是它在 HTML、CSS、JSON 等文本环境中的一种传输写法。解码后你会得到完整的 <svg> 代码,可以预览、编辑或保存为 .svg 文件。
常见原因有三种:内容并不是 SVG(例如其实是 PNG 的 Base64);Base64 复制不完整或混入了非法字符;解码出的 XML 本身有语法错误。工具会先检查 <svg> 标签,但不会完整校验 XML 结构,必要时可以把源码放到编辑器里查看报错。
不需要。你可以整段粘贴 data:image/svg+xml;base64,...,工具会自动识别并取出数据部分。带 charset=utf-8 等参数的写法也支持。如果粘贴的是非 Base64 的 Data URI(例如百分号编码),则不在本工具处理范围内。
支持。只要原始 SVG 是按 UTF-8 编码的,解码后会正常保留中文文字、注释和属性值。如果数据实际使用了其他编码,可能会解码失败或出现乱码。
预览通过图片方式渲染,SVG 内的脚本不会执行。不过,来源不明的 SVG 仍可能包含外部链接或异常内容,建议只在确认来源可信时下载和打开。
不会上传。解码、预览和下载都在浏览器本地完成,内容不会离开你的设备。工具完全免费,无需注册,也没有使用次数限制。
全面解析 Base64 编码原理、Base64 在线解码与转码方法,涵盖文本、图片、PDF 等多种格式的转换实战,附常用工具推荐与代码实现示例。
详解图片与 Base64 互转的完整流程:PNG/JPG 转 Base64 编码、Base64 还原图片,提供在线工具和代码两种方案,解决开发者嵌入图片、减少 HTTP 请求的刚需。
Base64 解密出现乱码怎么办?本文纠正 Base64 是加密算法的常见误区,解析乱码产生的原因(字符集、URL 安全、填充符等),并提供正确的 Base64 编码与解密处理方案。
粘贴一段 Base64,马上得到可预览、可编辑的矢量图和完整源码。无需注册,本地处理,数据不上传。