Skip to content

Base64 解码与编码工具

免费在线 Base64 解码编码工具。实时转换,支持中文和 Emoji,100% 浏览器端运行,数据不离开设备,无需注册。

无追踪 浏览器中运行 免费
文本
Base64

什么是 Base64?

Base64 是一种二进制到文本的编码方案,使用 64 个可打印 ASCII 字符来表示二进制数据。它由 IETF 在 RFC 4648 中标准化,是互联网基础设施中使用最广泛的编码方式之一。

Base64 编码的工作原理是将每 3 个字节(24 位)的输入数据分成 4 组,每组 6 位,然后将每个 6 位值映射到一个可打印字符。使用的字符集包括 A-Z(0-25)、a-z(26-51)、0-9(52-61)、+(62)和 /(63),以及用于填充的 = 字符。

Base64 最常见的应用场景包括:电子邮件附件(MIME 编码)、在 HTML/CSS 中嵌入小文件(数据 URI)、JWT 令牌、API 认证头(Basic Auth)以及在 JSON/XML 等文本格式中存储二进制数据。需要注意的是,Base64 不是加密——它只是一种编码方式,任何人都可以轻松解码。

使用这个免费在线 Base64 转换工具,可以在浏览器中即时将 Base64 解码为文本,或将文本编码为 Base64。

// Encode
btoa('Hello')        // → 'SGVsbG8='

// Decode
atob('SGVsbG8=')     // → 'Hello'

// UTF-8 safe encode
const bytes = new TextEncoder().encode('你好');
btoa(String.fromCharCode(...bytes));
// → '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. 1

    输入文本或 Base64

    在左侧的「文本」框中输入要编码的文本,或在右侧的「Base64」框中输入要解码的 Base64 字符串。也可以点击「加载示例」快速体验。

  2. 2

    实时转换

    工具会在您输入时实时进行编码或解码转换,无需点击任何按钮。

  3. 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 编码?
Base64 是一种将二进制数据转换为 ASCII 字符串的编码方案。它使用 64 个可打印字符(A-Z、a-z、0-9、+ 和 /)加上填充字符 = 来表示二进制数据。Base64 广泛用于在仅支持文本的环境中传输二进制数据,例如电子邮件附件、数据 URI 和 API 令牌。
使用这个工具时我的数据安全吗?
完全安全。所有编码和解码操作都在您的浏览器本地使用 JavaScript 原生的 btoa()/atob() 和 TextEncoder/TextDecoder 完成——数据绝不会离开您的设备。没有服务器上传,没有 Cookie,没有任何形式的数据存储。因此可以安全地用于处理 API 密钥和敏感数据。
这个工具支持中文和 Emoji 吗?
支持。本工具使用 TextEncoder/TextDecoder API 正确处理 UTF-8 编码,完美支持中文、日文、韩文、Emoji 以及其他多字节 Unicode 字符。许多在线 Base64 工具无法正确处理非 ASCII 字符,但本工具可以。
Base64 编码安全吗?它是加密吗?
不是,Base64 不是加密。它是一种编码方案,任何人都可以轻松解码。Base64 的目的是将二进制数据转换为文本安全的格式,而不是保护数据。永远不要使用 Base64 来保护敏感信息——如果需要安全性,请使用 AES 等正式的加密算法。
什么是数据 URI?Base64 在其中起什么作用?
数据 URI(data:)是一种将小文件直接嵌入 HTML 或 CSS 中的方式,格式为 data:[媒体类型];base64,[编码数据]。例如,可以将小图片 Base64 编码后直接嵌入 HTML,避免额外的 HTTP 请求。这对于小图标和简单图形特别有用,但对于大文件不建议使用,因为 Base64 会增加约 33% 的体积。
Base64 和 Base64URL 有什么区别?
标准 Base64 使用 + 和 / 字符,在 URL 中需要进行百分号编码。Base64URL 是一种变体,用 - 替换 +,用 _ 替换 /,并且通常省略尾部的 = 填充。Base64URL 常用于 JWT(JSON Web Token)和 URL 参数中。本工具使用标准 Base64 编码。
为什么 Base64 编码后的数据会更大?
Base64 编码后的数据比原始数据大约 33%。这是因为 Base64 将每 3 个字节的二进制数据转换为 4 个 ASCII 字符。这种体积增加是在文本安全传输与数据大小之间的权衡。对于大文件,建议使用实际的文件传输方式而非 Base64 编码。
如何在命令行中进行 Base64 编解码?
在 macOS/Linux 中,可以使用 base64 命令:编码用 echo -n 'Hello' | base64,解码用 echo 'SGVsbG8=' | base64 -d(macOS 用 -D)。在 Windows PowerShell 中,可以使用 [Convert]::ToBase64String() 和 [Convert]::FromBase64String()。本在线工具提供了一个更方便的可视化界面来完成同样的操作。
Base64 可以用在 HTML 和 CSS 中吗?
可以。Base64 常用于数据 URI(Data URI)将小资源直接嵌入 HTML 或 CSS 中,避免额外的 HTTP 请求。HTML 中用法:。CSS 中用法:background-image: url('data:image/svg+xml;base64,PHN2Zy...')。适合小图标和 SVG(5 KB 以下),大文件不建议使用,因为 Base64 会增加 33% 体积且无法利用浏览器缓存。
如何在 Python 中进行 Base64 编解码?
Python 内置 base64 模块:编码用 import base64; base64.b64encode(b'Hello').decode(),结果为 'SGVsbG8='。解码用 base64.b64decode('SGVsbG8=').decode(),结果为 'Hello'。处理中文时需注意编码:base64.b64encode('你好'.encode('utf-8')).decode()。在 JavaScript 中使用 btoa()/atob(),在 Java 中使用 java.util.Base64 类。
Base64 编码使用哪些字符?
标准 Base64 字母表(RFC 4648)由 64 个字符组成:大写字母 A-Z(值 0-25)、小写字母 a-z(值 26-51)、数字 0-9(值 52-61)、加号 +(值 62)和斜杠 /(值 63)。等号 = 用作填充字符。URL 安全变体(Base64URL)将 + 替换为 -,将 / 替换为 _,以避免与 URL 保留字符冲突。

JSON 格式化与验证工具

编码和格式化

在浏览器中即时格式化、验证和美化 JSON。免费在线工具,支持语法验证、错误检测、压缩和一键复制,100% 隐私保护。

进制转换器 — 二进制、十六进制、十进制、八进制互转

转换工具

在线免费进制转换工具,支持二进制、八进制、十进制、十六进制及 2-36 任意进制互转。无需注册,数据不离开浏览器,即时获取结果。

在线图片压缩工具 – 免费批量压缩

转换工具

免费在线压缩 JPEG、PNG、WebP 图片,体积缩小高达 80%。浏览器本地处理、图片不上传服务器。支持批量压缩 20 张、质量调节、前后对比预览。无需注册。

长度单位转换器 — 公制、英制、天文单位一键互转

转换工具

1 英寸 = 2.54 厘米,1 英尺 = 0.3048 米,1 英里 = 1.609 千米。支持公制、英制、海里、天文共 16 种长度单位即时互转。免费在线工具,所有计算在浏览器本地完成,数据不离开您的设备。

在线 MD5 哈希生成器与文件校验工具

安全工具

在线生成 MD5、SHA-256、SHA-1、SHA-512 哈希值 — 完全免费,浏览器本地运算,无需注册。支持文本和文件哈希、校验和验证、哈希值对比,一键复制,数据绝不离开您的设备。

随机密码生成器 - 在线生成

安全工具

免费在线随机密码生成器,一键生成高强度安全密码。支持自定义长度、字符类型,批量生成多个密码。所有密码仅在浏览器本地生成,不上传不存储。