Base64 解码与编码工具
免费在线 Base64 解码编码工具。实时转换,支持中文和 Emoji,100% 浏览器端运行,数据不离开设备,无需注册。
什么是 Base64?
Base64 是由 RFC 4648 定义的二进制到文本编码方案,使用 64 个可打印 ASCII 字符将任意二进制数据转换为安全的文本表示。它是互联网基础设施中使用最广泛的编码方式之一,支撑着从电子邮件附件到 JSON Web Token 和 TLS 证书的各种应用。
正如 RFC 4648 第 1 节所述:「Base64 编码旨在将任意八位字节序列表示为不需要人类可读的形式。」
Base64 将输入的每 3 个字节(24 位)分成 4 组,每组 6 位,再映射到 64 个可打印字符之一:A-Z(0-25)、a-z(26-51)、0-9(52-61)、+(62)、/(63),输入长度不是 3 的倍数时用 = 填充。Base64 编码会使数据体积增加约 33%(RFC 4648)——这是为了让二进制数据能在纯文本信道中安全传输所做的权衡。
Base64 最常见的应用场景包括:电子邮件附件(MIME 编码)、在 HTML/CSS 中嵌入小文件(数据 URI)、JWT 令牌、API 认证头(Basic Auth)以及在 JSON/XML 等文本格式中存储二进制数据。需要注意的是,Base64 不是加密——它只是一种编码方式,任何人都可以轻松解码。
本工具的所有编码和解码操作均完全在浏览器中运行——你的数据不会上传到任何服务器,因此可以安全地用于处理 API 密钥、令牌和其他敏感数据。
使用这个免费在线 Base64 转换工具,可以在浏览器中即时将 Base64 解码为文本,或将文本编码为 Base64。
Base64 经常与其他编码和数据工具配合使用。例如,你可能需要先用 JSON 格式化工具整理 JSON 数据,再对其进行 Base64 编码以用作 API 载荷;或者用 URL 编码工具对 Base64 字符串进行 URL 编码后再放入查询参数;或者在解码 Base64 编码的下载文件后,使用 MD5 或 SHA-256 校验工具验证文件完整性。刚接触 Base64?阅读我们的Base64 入门指南。想深入了解 MIME、Data URL 和性能优化等进阶话题?请参阅Base64 完整指南。
// Encode plain text to Base64
const encoded = btoa('Hello, World!');
console.log(encoded); // → 'SGVsbG8sIFdvcmxkIQ=='
// Decode Base64 back to text
const decoded = atob('SGVsbG8sIFdvcmxkIQ==');
console.log(decoded); // → 'Hello, World!'
// UTF-8 safe encode (handles Chinese, emoji, any Unicode)
function encodeBase64(str) {
const bytes = new TextEncoder().encode(str); // to UTF-8 bytes
return btoa(String.fromCharCode(...bytes));
}
console.log(encodeBase64('你好')); // → '5L2g5aW9' 核心功能
实时编解码
输入即转换,编码和解码同时进行,无需点击按钮,毫秒级响应。
完整 UTF-8 支持
正确处理中文、日文、韩文、Emoji 等所有 Unicode 字符,不会出现乱码。
双向转换
在文本和 Base64 之间自由双向转换,在任一输入框中输入即可。
100% 浏览器端处理
所有处理均在浏览器本地完成,数据绝不离开你的设备——无需上传服务器,无任何追踪。
错误检测
自动检测无效的 Base64 输入,提供清晰的错误提示。
一键复制
点击复制按钮即可将编码或解码结果复制到剪贴板。
示例
纯英文文本
Hello, World!
SGVsbG8sIFdvcmxkIQ==
将简单的英文文本编码为 Base64 格式
中文文本
你好,世界!
5L2g5aW977yM5LiW55WM77yB
正确处理 UTF-8 编码的中文字符
含 Emoji 的文本
Hello 🌍🚀
SGVsbG8g8J+MjfCfmoA=
支持 Emoji 等多字节 Unicode 字符的编码
JSON 数据
{"name":"Alice","age":30} eyJuYW1lIjoiQWxpY2UiLCJhZ2UiOjMwfQ==
编码 JSON 字符串,常用于 API 令牌和数据传输
使用方法
- 1
输入文本或 Base64
在左侧的「文本」框中输入要编码的文本,或在右侧的「Base64」框中输入要解码的 Base64 字符串。也可以点击「加载示例」快速体验。
- 2
实时转换
工具会在你输入时实时进行编码或解码转换,无需点击任何按钮。
- 3
复制结果
点击「复制」按钮即可一键将转换结果复制到剪贴板。
常见使用场景
- API 认证
- 编码 HTTP Basic Auth 凭证和 API 令牌,这是许多 API 认证方案的基础。
- 数据 URI 嵌入
- 将小图片和文件 Base64 编码后嵌入 HTML/CSS 中,减少 HTTP 请求。
- JWT 令牌调试
- 解码 JWT(JSON Web Token)的 payload 和 header 部分,快速检查令牌内容。
- 邮件附件处理
- 理解和调试 MIME 编码的邮件附件,邮件系统使用 Base64 传输二进制文件。
- 配置文件处理
- 编码和解码 Kubernetes Secrets、环境变量等配置中的 Base64 值。
- 数据传输
- 在 JSON 和 XML 等文本格式中安全传输二进制数据。
技术细节
- 符合 RFC 4648 标准
- 完整支持标准 Base64 编码规范,包括正确的填充处理。
- 浏览器端处理
- 使用浏览器原生的 btoa()/atob() 和 TextEncoder/TextDecoder API 进行编解码。
- 完整 Unicode 支持
- 通过 UTF-8 编码正确处理所有 Unicode 字符,包括多字节字符和代理对。
最佳实践
- 勿用于加密
- Base64 是编码而非加密,任何人都可以轻松解码。敏感数据请使用正式的加密算法。
- 注意体积增加
- Base64 编码后数据增大约 33%,大文件不建议使用 Base64,请选择直接的二进制传输方式。
- 正确处理 UTF-8
- 编码非 ASCII 文本时,先使用 TextEncoder 转换为 UTF-8 字节,避免出现乱码问题。
常见问题
什么是 Base64 编码?
使用这个工具时我的数据安全吗?
这个工具支持中文和 Emoji 吗?
Base64 编码安全吗?它是加密吗?
什么是数据 URI?Base64 在其中起什么作用?
Base64 和 Base64URL 有什么区别?
为什么 Base64 编码后的数据会更大?
如何在命令行中进行 Base64 编解码?
Base64 可以用在 HTML 和 CSS 中吗?
如何在 Python 中进行 Base64 编解码?
Base64 编码使用哪些字符?
我需要在 HTML 邮件模板中嵌入一张小图片——应该使用 Base64 数据 URI 还是在外部托管图片?
为什么我的 Base64 编码字符串包含 + 和 / 字符,导致 URL 参数出错?
我在尝试解码 JWT 令牌——Base64URL 解码如何工作?它与标准 Base64 有什么区别?
相关工具
查看所有工具 →JSON 格式化与验证工具
编码和格式化
在浏览器中即时格式化、验证和美化 JSON。免费在线工具,支持语法验证、错误检测、压缩和一键复制,100% 隐私保护。
JSON 转 YAML 转换器
编码和格式化
粘贴 JSON 即时获得 YAML,浏览器端实时转换。支持 Kubernetes、Docker Compose 和 Terraform,提供 2/4 空格缩进、Norway 安全自动引号,100% 隐私保护,数据不离开设备。
URL 编码解码在线工具 — 内置 URL 结构解析
编码和格式化
粘贴 URL 即时编码或解码,实时显示结果。内置 URL 解析器将协议、域名、路径、查询参数拆解为可编辑字段。支持 encodeURI 和 encodeURIComponent 双模式切换,检测双重编码问题。纯浏览器端运行,数据不离开设备。
YAML 转 JSON 转换器
编码和格式化
粘贴 YAML 即时获得 JSON,浏览器端实时转换。支持 K8s 清单、OpenAPI 规范、Helm values 和 Ansible playbook,完整展开锚点/别名,100% 隐私保护,数据不离开设备。
进制转换器 — 二进制、十六进制、十进制、八进制互转
转换工具
在线免费进制转换工具,支持二进制、八进制、十进制、十六进制及 2-36 任意进制互转。无需注册,数据不离开浏览器,即时获取结果。
在线压缩 JPEG、PNG、WebP 图片 — 免费批量处理
转换工具
免费在线压缩 JPEG、PNG、WebP 图片,体积缩小高达 80%。浏览器本地处理、图片不上传服务器。支持批量压缩 20 张、质量调节、前后对比预览。无需注册。