功能说明
本工具用于解码 JWT(JSON Web Token)字符串。JWT 由三段组成,分别以点号(.)分隔:Header(头部)、Payload(载荷)、Signature(签名)。工具会将 Header 和 Payload 从 Base64URL 编码还原为 JSON 文本,并对 JSON 中的键名、字符串、数字和布尔值进行颜色高亮,方便阅读。同时,工具会识别 Payload 中常见的 iat(签发时间)、exp(过期时间)、nbf(生效时间)字段,将其 Unix 时间戳转换为本地可读时间,并判断 exp 是否已过期。签名段仅展示原始内容,不进行任何验证。
使用方法
- 将完整的 JWT 字符串粘贴到输入框中,点击“解码”按钮,或按 Ctrl+Enter 快捷键。
- 结果区会显示 Header 和 Payload 的格式化 JSON 内容,以及时间字段的详细表格。
- 如果 JWT 格式不正确或解码失败,工具会给出中文错误提示。
- 点击“清空”按钮可以清除输入和结果。
计算原理
JWT 的 Header 和 Payload 使用 Base64URL 编码,与标准 Base64 的区别在于:- 代替 +,_ 代替 /,且省略末尾的 = 填充字符。解码时,先将 Base64URL 字符替换回标准 Base64 字符,补足填充符,再用 atob() 解码为二进制字符串,最后通过 decodeURIComponent(escape()) 还原为 UTF-8 文本。时间戳字段(如 iat、exp、nbf)为 Unix 时间戳(秒),乘以 1000 后转换为 Date 对象,再格式化为本地时间字符串。过期判断基于当前时间(秒)与 exp 值比较。
注意事项
- 本工具完全在浏览器本地运行,不会将 JWT 发送到任何服务器,请放心使用。
- 工具只负责解码展示,不验证签名,因此不能确认 JWT 是否被篡改或来源是否可信。
- 如果 JWT 的 Payload 不是合法 JSON(例如某些自定义格式),工具会原样展示解码后的文本,但时间字段无法解析。
- 时间显示使用浏览器所在时区,不同时区下可读时间会有所不同。