跳到主要内容

免费 Base64 编解码器

将文本或文件编码为 Base64,或将 Base64 字符串解码回纯文本。即时、私密且免费。

加载后可离线使用
字母表

非加密方式。 Base64 是一种编码方案——任何看到输出的人都能立即解码。它不提供任何保密性或安全性。

常见用途

  • 将API数据编码为Base64将凭证、令牌和负载编码为Base64以用于HTTP标头和API请求。
  • 将图像编码为Base64用于CSS将小图像和图标转换为Base64数据URL,可直接嵌入CSS或HTML。
  • 将文件编码为Base64用于电子邮件将文件附件编码为Base64以用于MIME电子邮件构建或调试电子邮件API负载。
  • 解码和检查JWT令牌解码JSON Web令牌(JWT)的标头和有效负载部分以检查其声明。
  • 编码二进制数据以进行文本传输将文件或二进制数据编码为Base64,以便它们可以安全地包含在JSON、XML或纯文本中。

工作原理

这里的 Base64 编码和解码完全在你的浏览器中运行,使用 JavaScript 内置的 btoa/atob 函数和 FileReader API——没有服务器、不上传,也没有第三方库。对于文本,encodeURIComponent/unescape 包装确保 Unicode 字符正确编码;对于文件,FileReader.readAsDataURL() 直接生成 Base64 数据。

  1. 1
    文本输入:UTF-8 规范化
    原始文本先经过 encodeURIComponent 再经过 unescape,然后交给 btoa。这两步将多字节 Unicode 字符(表情符号、带重音字母、非拉丁文字)转换为 btoa 能安全编码的字节序列——跳过这一步,任何超出 Latin-1 的字符都会抛出“character out of range”错误。
  2. 2
    文件输入:FileReader API
    选择文件后,浏览器的 FileReader.readAsDataURL() 方法在本地读取文件,并返回 data:<mime>;base64,<payload> 形式的 data URL。工具去掉前缀,只保留原始 Base64 数据,支持最大 20 MB 的任意文件类型。
  3. 3
    URL 安全变体(RFC 4648 §5)
    切换到 URL 安全模式会对标准输出进行三处字符替换:+ 变为 -,/ 变为 _,并去掉末尾的 = 填充。这与 JWT、URL 参数和文件名中使用的 RFC 4648 §5 字母表一致,在这些场景中 + 和 / 需要百分号编码。
  4. 4
    解码:恢复填充与 atob
    解码时,工具先去除空白(以处理 MIME 换行的 Base64),将 URL 安全字母表映射回标准字符,再补回缺失的 = 填充,然后调用 atob。输出字节通过 decodeURIComponent(escape(...)) 转换回 Unicode 字符串——与编码路径互为镜像。

所有编码和解码都在你的浏览器中本地完成——你输入的文本和选择的文件都不会发送到服务器。

相关工具

常见问题