Base64 编解码
文本与文件互转 Base64,支持中文与 URL 安全字符集
最后更新:2026-10-09
工具介绍
Base64 是把二进制数据映射成 64 个可打印字符的编码方式,常用于在只允许文本的通道里传递图片、附件或凭证。本工具同时提供文本与文件两种模式:文本模式正确处理中文与 emoji,文件模式可以把任意文件编码成 Base64 字符串,也能把 Base64 还原成文件下载。
功能特性
多字节字符安全
浏览器的原生 btoa 只能处理单字节字符,直接编码中文会直接报错。本工具先按 UTF-8 取字节再编码,中文、日文、emoji 都能正确往返。
URL 安全变体
标准 Base64 里的 + 和 / 在 URL 与文件名中需要转义。切换到 URL 安全字符集后会自动替换为 - 和 _,并可选去掉末尾的 = 填充。
文件直接编解码
文件模式下选择任意文件即可得到 Base64 字符串;反向粘贴 Base64 也能还原成原始文件下载,适合处理小图片或配置附件。
实时格式校验
解码时实时检查输入是否为合法 Base64,并区分「格式非法」与「解码结果不是有效 UTF-8」两种失败,给出准确的排查方向。
怎么用
- 1
选择模式
处理普通文字选「文本」;要把图片、附件之类的文件转成 Base64 选「文件」。
- 2
选择方向
「编码」把原文变成 Base64,「解码」把 Base64 还原成原文。点「互换」可以一键调换输入与结果。
- 3
调整选项
需要放进 URL 或 JWT 时选 URL 安全字符集;若目标系统不接受填充符,可关闭「补齐末尾等号」。
- 4
复制或下载
编码结果可一键复制;解码出来的是文件时,点击下载即可保存到本地。
参数说明
- 字符集
- 标准使用 A-Z a-z 0-9 + /,通用性最好;URL 安全使用 A-Z a-z 0-9 - _,可直接放进查询参数与文件名。
- 末尾等号
- Base64 用 = 把长度补齐到 4 的倍数。多数场景需要保留,但部分 URL 场景会去掉以减少字符数,两者都能被本工具正确解码。
- 输入容忍度
- 解码时会自动忽略换行与空格,因此从代码、日志里复制出来的折行 Base64 可以直接粘贴使用,无需手工整理。
适用场景
- 在 JSON 或 YAML 配置里内嵌小图片、证书等二进制数据
- 调试 HTTP Basic 认证头,快速生成或核对 authorization 字段
- 生成 JWT 的 payload 部分,或检查已有 token 里的声明内容
- 把图片转成 data URI 直接写进 HTML 或 CSS 做内联资源
- 排查日志里折行的 Base64 字符串到底代表了什么内容
- 把不方便直接传输的文件转成纯文本,通过聊天工具发给同事
常见问题
关于这个工具,你可能会问
Base64 是加密吗?安全吗?
不是加密,只是编码。Base64 没有任何密钥,任何人都能还原原文,因此不能用来保护密码等敏感信息,它的作用只是让二进制数据能安全地穿过纯文本通道。
为什么直接编码中文会报错?
浏览器原生的 btoa 只接受单字节字符,中文一个字符对应多个字节就会抛错。本工具先用 TextEncoder 按 UTF-8 取出字节再编码,因此中文和 emoji 都能正确处理。
编码后为什么变长了?
Base64 用 4 个字符表示 3 个字节,所以体积约为原来的 133%。这是编码方式的固有开销,无法避免。
URL 安全变体有什么区别?
标准 Base64 会用到 + 和 /,这两个字符在 URL 里有特殊含义必须转义。URL 安全变体把它们换成 - 和 _,可以直接放进查询参数或文件名。
末尾的等号要去掉吗?
取决于目标系统。等号用于把长度补齐到 4 的倍数,多数解码器可以自动补足因而可有可无。如果对接的系统明确要求无填充形式,关掉开关即可。
提示「不是有效的 UTF-8」是什么意思?
说明输入确实是合法的 Base64,但解码出来的字节并不构成一段文本——很可能原始内容是一张图片或其他二进制文件。此时请改用文件模式解码并下载。
文件有大小限制吗?
没有硬性限制,但编码会把内容整体放进内存并膨胀到约 1.33 倍,建议单文件控制在几十 MB 以内以保证浏览器流畅。
上传的文件会被保存吗?
不会。文件读取与编码全部由浏览器本地完成,不产生任何网络请求,你可以在开发者工具的网络面板中确认这一点。