跳到主要内容

Base64 编解码

文本与文件互转 Base64,支持中文与 URL 安全字符集

原生支持中文与 emoji,不会出现乱码或报错可切换标准 / URL 安全字符集,并选择是否补齐末尾等号输入时实时校验并提示体积,随时可以互换编码方向
原文大小

最后更新:2026-10-09

工具介绍

Base64 是把二进制数据映射成 64 个可打印字符的编码方式,常用于在只允许文本的通道里传递图片、附件或凭证。本工具同时提供文本与文件两种模式:文本模式正确处理中文与 emoji,文件模式可以把任意文件编码成 Base64 字符串,也能把 Base64 还原成文件下载。

功能特性

多字节字符安全

浏览器的原生 btoa 只能处理单字节字符,直接编码中文会直接报错。本工具先按 UTF-8 取字节再编码,中文、日文、emoji 都能正确往返。

URL 安全变体

标准 Base64 里的 + 和 / 在 URL 与文件名中需要转义。切换到 URL 安全字符集后会自动替换为 - 和 _,并可选去掉末尾的 = 填充。

文件直接编解码

文件模式下选择任意文件即可得到 Base64 字符串;反向粘贴 Base64 也能还原成原始文件下载,适合处理小图片或配置附件。

实时格式校验

解码时实时检查输入是否为合法 Base64,并区分「格式非法」与「解码结果不是有效 UTF-8」两种失败,给出准确的排查方向。

怎么用

  1. 1

    选择模式

    处理普通文字选「文本」;要把图片、附件之类的文件转成 Base64 选「文件」。

  2. 2

    选择方向

    「编码」把原文变成 Base64,「解码」把 Base64 还原成原文。点「互换」可以一键调换输入与结果。

  3. 3

    调整选项

    需要放进 URL 或 JWT 时选 URL 安全字符集;若目标系统不接受填充符,可关闭「补齐末尾等号」。

  4. 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 以内以保证浏览器流畅。

上传的文件会被保存吗?

不会。文件读取与编码全部由浏览器本地完成,不产生任何网络请求,你可以在开发者工具的网络面板中确认这一点。