Base64 转 JSON
将 Base64 或 Base64URL 解码为 JSON,自动格式化或压缩。支持 JWT payload 段、API 响应和配置对象,即时检测是否为合法 JSON。
解码结果
解码 JWT?可以直接使用 JWT 解码器
JWT 解码器支持完整的 header.payload.signature 格式,一次性解析 Header 和 Payload,并显示过期时间(exp)等 claims。
解码流程
- 1
去除前缀
如果是 Data URL 格式(data:…;base64,…),自动去除前缀只保留数据段。
- 2
识别 Base64URL
检测是否含有 - 或 _ 字符(Base64URL 格式),自动还原为标准 Base64,并补齐填充 =。
- 3
Base64 解码
使用 atob() 解码为二进制字节序列。
- 4
UTF-8 转换
使用 TextDecoder 将字节序列转为 UTF-8 文本字符串,正确处理多语言字符。
- 5
JSON 解析
尝试 JSON.parse()。成功则提供格式化和压缩输出;失败则显示原始文本,标注「非 JSON 格式」。
Base64 vs Base64URL
| 特性 | Base64 | Base64URL |
|---|---|---|
| 字符集 | A–Z a–z 0–9 + / | A–Z a–z 0–9 - _ |
| 填充 | 末尾有 = | 通常省略 |
| URL 安全 | 否(需转义 + /) | 是(直接可用) |
| 常见用途 | HTML、JSON、API Body | JWT、URL 参数、Cookie |
| 示例 | SGVsbG8= | SGVsbG8 |
常见问题
如何解码 JWT 的 Payload?
JWT 的格式是 header.payload.signature,三段用 . 分隔。只需复制中间的 payload 段(第二个 . 之间的内容),粘贴到本工具,工具会自动识别 Base64URL 并解码为可读 JSON。如需同时解析 header 和验证签名,可使用 JWT 解码器页面。
Base64 和 Base64URL 有什么区别,解码方式一样吗?
Base64URL 将标准 Base64 中的 + 替换为 -,/ 替换为 _,并去除末尾的 = 填充,使其可安全用于 URL 和 HTTP 头部。本工具会自动检测是否含有 - 或 _ 字符,并将其还原为标准 Base64 再解码,无需手动处理。
解码后显示「非 JSON 格式」是什么意思?
表示 Base64 成功解码,但解码后的文本无法被 JSON.parse() 解析。可能原因:原始数据是纯文本(如 "Hello, World!")、HTML、二进制文件或其他非 JSON 格式。此时切换到「解码文本」标签可查看原始解码内容。
Formatted JSON 和 Minified JSON 有什么区别?
Formatted JSON 使用 2 空格缩进格式化输出,方便人工阅读和调试。Minified JSON 去除所有不必要的空格和换行,体积最小,适合程序处理或再次编码为 Base64。两者包含完全相同的数据。
解码后的 JSON 是否经过服务器?
不会。所有解码操作均在浏览器本地完成,使用 atob() 和 TextDecoder API,数据不会上传到任何服务器。适合解码包含敏感信息的 JWT 或配置数据。
如果解码失败应该怎么办?
首先确认字符串只含有合法 Base64 字符(A–Z、a–z、0–9、+、/、=),或 Base64URL 字符(A–Z、a–z、0–9、-、_)。如果从 JWT 中复制,确保只复制了三段中的某一段,不含 . 分隔符。可使用 Base64 校验器进一步诊断问题。