在线 Base64 编码解码工具,支持 Base64url 与 UTF-8 文本转换
在浏览器中完成 Base64 编码、Base64 解码和 Base64url 转换,适合处理接口参数、JSON 片段、Basic Auth 凭证、日志字段和配置文本。输入不会上传服务器,结果可即时复制,也可以把输出送回输入继续反向验证。
- 所有编解码均在本地浏览器完成,不会上传到服务器
- 支持标准 Base64 和 URL 安全的 Base64url 两种变体
- 面向 UTF-8 文本、JSON、URL 参数、认证头和调试日志
- 输入与输出左右对照,支持一键复制和输出回填
Base64 编码 & 解码
将 UTF-8 文本、JSON、接口参数或认证凭证编码为 Base64,也可将 Base64 / Base64url 字符串解码为可读文本。
这个 Base64 工具能做什么
围绕 Base64 编码、Base64 解码和 Base64url 处理,把开发调试中最常见的文本转换集中到一个本地工具里。
-
编码为 Base64
将 UTF-8 文本、JSON、配置片段或认证凭证转换为标准 Base64 字符串,适用于接口联调、Header 组装和文本传输。
-
解码 Base64
把日志、接口响应、配置文件或消息队列中的 Base64 字段还原为可读文本,便于排查内容是否正确。
-
URL 安全变体
使用 Base64url 变体,将 + 和 / 替换为 - 和 _,适用于查询参数和路径段。
-
UTF-8 文本处理
使用浏览器原生 TextEncoder / TextDecoder 处理中文、英文、符号和常见 JSON 文本,避免传统 btoa 直接处理中文时出错。
-
双向互换
将输出结果送回输入区,快速验证编码与解码是否可逆,也方便连续处理标准 Base64 与 Base64url。
-
即时复制与清空
一键复制结果到剪贴板,或清空两个文本框重新开始。
如何使用
选择编码或解码,粘贴文本或 Base64 字符串,结果会在输出区即时生成。
- 1
选择"编码"或"解码"来确定转换方向。
- 2
在输入框中输入或粘贴内容。
- 3
输出区域会实时显示转换结果。
- 4
使用"复制"按钮获取输出,或点击"使用输出作为输入"继续反向验证。
- 5
如果字符串需要放进 URL 查询参数、路径段或无填充令牌中,开启 URL 安全模式。
何时使用每种模式
编码和解码的区别在数据传输时最为重要。
- 当需要将文本准备用于 data URL、邮件附件或要求 Base64 格式的系统时,使用"编码"。
- 当收到一个 Base64 字符串需要查看或编辑原始内容时,使用"解码"。
- 当编码结果会出现在 URL 查询参数或路径中时,开启 URL 安全模式。
- 默认按 UTF-8 文本处理,适合中文、英文、JSON、URL 和大多数接口调试场景。
常见使用场景
Base64 转换在前后端开发、接口联调、调试排错和配置处理里都非常高频。
-
HTML 和 CSS 中的 Data URL
将小图片、字体或图标编码为 Base64 data URL,减少页面原型中的 HTTP 请求数。
-
API 请求负载编码
将 JSON 块、配置文本或序列化字符串编码为 Base64,便于放入 REST、GraphQL 或队列消息的文本字段中。
-
认证请求头
为 Basic Auth 认证头、OAuth 流程和签名请求格式编码凭证或令牌。
-
调试与检查
解码 API 日志、浏览器开发者工具或配置文件中遇到的 Base64 字符串,查看其原始内容。
-
JWT 与令牌片段排查
在排查认证流程时,快速查看令牌中的 Base64 片段内容,确认 header/payload 是否符合预期。
-
消息队列与缓存数据检视
对 MQ、Redis 或数据库中保存的 Base64 字段进行解码,快速验证入库内容是否正确。
实用建议
遵循这些规则可以避免编码不匹配和数据丢失。
如果 Base64 结果还要放进查询参数或回调地址,建议继续用 URL 编码 & 解码 处理 URL 转义;排查登录态、Bearer Token 或三段式令牌时,可以打开 JWT 检查器 查看 header 与 payload。需要把图片嵌入 HTML、CSS 或 JSON 时,使用 图片转 Base64 更合适;如果手里已有图片 Base64 字符串并想预览还原,则交给 Base64 转图片 处理。
- 优先确认原始内容是不是文本。图片、压缩包、音频这类二进制内容不适合直接在文本框里解码阅读。
- 当 Base64 字符串会出现在 URL 中时,使用 URL 安全模式;标准 Base64 可能破坏某些 URL 解析器。
- Base64 的开销约为原数据的 33%,对于大型负载考虑使用压缩或流式处理。
- 不要使用 Base64 来加密数据。Base64 是一种编码格式,不是安全机制。
- 解码前去除输入中的首尾空白字符,避免补齐导致的解码失败。
- 如果数据会跨多语言服务传递,优先固定为 UTF-8,并在接口文档中明确声明编码策略。
- 将 Base64 当作传输层格式而不是存储层真值,长期存储时建议保留原始结构和元信息。
限制与注意事项
了解限制有助于在转换过程中避免意外。
- Base64 比原始二进制数据大 33% 左右,这会影响大型负载的存储和传输成本。
- 此页面按 UTF-8 文本进行编码和解码,不提供 ISO-8859-1、GBK 等字符集切换。
- 非常大的文件(数百 MB)可能导致浏览器内存压力。此页面为字符串、配置块和中等体量的负载设计。
- 此页面不支持直接上传文件进行 Base64 转换。如需编码文件,请使用专门的图片转 Base64 页面。
- Base64 编码不提供校验和或哈希等数据完整性保证。
- 自动检测 URL 安全模式依赖输入特征(- 和 _),在边界场景下仍建议手动确认模式。
- 解码结果是否可读也取决于原始数据是否真的是文本;二进制内容解码后可能表现为不可见字符。
常见问题
围绕使用方式、数据处理、结果判断和常见边界,整理使用前最容易遇到的问题。
01 Base64 是加密吗?
Base64 是加密吗?
不是。Base64 是一种编码方案,而非加密。任何人都可以使用标准工具解码 Base64 字符串。请勿使用 Base64 来保护敏感数据。
02 标准 Base64 和 URL 安全 Base64 有什么区别?
标准 Base64 和 URL 安全 Base64 有什么区别?
标准 Base64 使用 +、/ 和 = 字符。URL 安全 Base64 将 + 替换为 -,/ 替换为 _,并去除末尾的 = 填充,使字符串可在 URL 中安全使用。
03 为什么解码后有时会出现乱码?
为什么解码后有时会出现乱码?
乱码通常意味着原始内容不是 UTF-8 文本,或者它本来就是图片、压缩包等二进制数据。此页面适合文本 Base64,不适合作为通用二进制查看器。
04 可以用此工具编码二进制文件吗?
可以用此工具编码二进制文件吗?
此页面是为文本输入设计的。如需编码二进制文件,请使用专门的图片转 Base64 工具或文件上传工具。
05 这个页面会将我的数据发送到服务器吗?
这个页面会将我的数据发送到服务器吗?
不会。所有编解码均在本地浏览器中完成,不会向任何服务器传输数据。
06 Base64 在实践中有什么用?
Base64 在实践中有什么用?
常见用途包括 HTML 中的 data URL、邮件附件(MIME)、API 文本负载、认证头,以及在 JSON 等文本格式中传递经过编码的内容。
07 为什么有些 Base64 字符串没有等号(=)结尾?
为什么有些 Base64 字符串没有等号(=)结尾?
这是 URL 安全 Base64 或某些系统省略填充符号的常见做法。工具会尝试自动补齐填充后再解码。
08 为什么解码后是乱码或空白字符?
为什么解码后是乱码或空白字符?
可能原因包括原始内容不是 UTF-8 文本,或者内容本来就是图片、压缩包等二进制数据。此类内容需要专门的文件或十六进制查看工具。
更多编码解码与可扫描码工具
DevKitLab 提供 Base64 编码解码、URL 编码解码、二维码生成与解析、条形码生成与解析等在线工具,适合处理链接、文本、图片编码以及各类可扫描码。