Base64 Encoder

Base64 编码 / 解码

文本或文件编码成 Base64,或从 Base64 解码还原。支持 URL-safe 变体、完整 UTF-8、纯客户端。

不会。所有编码与解码完全在浏览器内使用原生 JavaScript API (TextEncoder、btoa、atob) 执行。没有任何上传、记录或存储。

标准 Base64 使用的 + 和 / 在网址中有特殊意义。URL-safe Base64 (RFC 4648 §5) 把它们分别换成 - 和 _,这样输出字符串就可以安全用在网址、文件名以及 JWT 等 token。

输入

0 字符

解码结果

0 字符

为什么选择 Base64?

快速、精确、该有的选项一个不少。

编码与解码

任意文本或文件转 Base64,或从 Base64 还原。输入时实时预览。

隐私优先

所有编码与解码完全在浏览器内完成,你的文本和文件绝不会传送到任何服务器。

文件与 data URL

拖拽任意文件获取 Base64 字符串、data URL (data:mime;base64,…),或把 Base64 字符串解码回二进制文件。

URL-safe 变体

一键切换 URL-safe Base64 (Base64URL, RFC 4648) — 把 + 换成 -、/ 换成 _,适用于网址、文件名、JWT 等。

完整 UTF-8

支持所有 Unicode 字符:中文、日文、韩文、表情符号、RTL 文字。使用 TextEncoder/TextDecoder,绝不乱码。

行宽与 padding

可选 MIME 风格 64 或 76 字符换行、可选去除 padding — 适用于签名、cookie、紧凑 token。

Base64 编码在你浏览器中如何工作

原生浏览器 API,不上传,任何文本或文件都能无损往返。

  1. 1

    选择文本或文件模式

    在文本模式(粘贴任意字符串)与文件模式(拖入任意大小不超过约 50 MB 的文件)之间切换。文本通过 TextEncoder 处理以正确支持 UTF-8 — emoji 和非 ASCII 字符可正确往返。文件按 ArrayBuffer 读取。

  2. 2

    编码器在本地运行

    JavaScript 内置的 btoa 把字节编码成 Base64。对 URL-safe 变体,我们把 + 替换成 -,把 / 替换成 _,并可选地去掉 padding(JWT 使用的格式)。对于很大的文件,我们分块编码以避免阻塞主线程。

  3. 3

    解码器是反向操作

    粘贴一个 Base64 字符串,我们运行 atob 进行解码。如果你最初编码的是二进制文件,我们提供按原 MIME 类型下载;如果你编码的是文本,则通过 TextDecoder 还原。两个方向都是无损的。

  4. 4

    复制、下载或生成 Data URI

    一键复制把 Base64 放入剪贴板。或下载为 .txt 文件。或生成 data:image/png;base64,... URI,用于在 CSS / HTML 中内联嵌入 — 全部在你的浏览器中组装。

常见 Base64 工作流

人们实际用 Base64 做什么,iKit 在其中如何帮上忙。

在 CSS 中嵌入小图标

把一个 2 KB 的图标转换为 Data URI,内联进样式表 — 节省一次 HTTP 请求。iKit 会生成完整的 data:image/png;base64,... 字符串,直接可贴。

JWT 调试

解码 JWT 的中段以查看 claims。配合 iKit 的 JSON Decoder,完成两步式干净的调试流程,token 不会发送到任何服务器。

通过 API 发送邮件附件

当事务性邮件 API 要求 Base64 编码的附件时,把文件拖入 iKit,复制结果,粘贴到请求体中。不用敲 CLI base64 命令,不用纠结平台差异(macOS 与 Linux 的参数不同)。

PEM key 与证书

解码 PEM 块(去掉 BEGIN/END 行后)以查看原始 DER 字节。或把二进制密钥编码成 PEM,以便给那些只接受文本格式的工具使用。

为什么 Base64 隐私不容妥协

Base64 是敏感 payload 的默认载体 — 含用户 ID 和权限的 JWT、嵌入的客户照片、内部 API 响应。服务器端 Base64 工具会看到你粘贴的每一字节。iKit 的编码器纯粹运行在 JavaScript 中,任何东西都不会离开你的浏览器标签页。

  • 编码或解码期间零 fetchXHR 调用。
  • 最大约 50 MB 的文件在本地处理,无需上传。
  • 无损往返 — 编码再解码可还原原始字节。

相关教程

来自 iKit 博客的深度教程与工具对比。

常见问题

我的输入会被发送到服务器吗?

不会。所有编码与解码完全在浏览器内使用原生 JavaScript API (TextEncoder、btoa、atob) 执行。没有任何上传、记录或存储。

什么是 URL-safe Base64?

标准 Base64 使用的 + 和 / 在网址中有特殊意义。URL-safe Base64 (RFC 4648 §5) 把它们分别换成 - 和 _,这样输出字符串就可以安全用在网址、文件名以及 JWT 等 token。

支持 Unicode 和表情符号吗?

支持。我们使用 TextEncoder 把你的文本转成 UTF-8 字节后再编码,解码时用 TextDecoder 还原。所有 Unicode 字符(CJK、表情符号、RTL 文字)都能完整往返。

可以编码 PDF、图片这类文件吗?

可以。切换到「文件」模式后拖拽任意文件即可,工具会给你 Base64 字符串、可以粘贴进 HTML/CSS 的 data URL,或下载.txt 文件。文件大小受浏览器内存限制,通常可到数百 MB。

有 padding 和无 padding 有什么区别?

标准 Base64 会用 '=' 字符填充让长度为 4 的倍数。某些用途(JWT、URL token)会移除 padding 来节省空间,解码器可以自动补回来。勾选「去除 padding」会去掉结尾的 =。