JWT 解码

JWT 解码

拆分 JWT 三段并解码 Header 与 Payload(不校验签名)

浏览器本地计算

粘贴三段式 Token 后点击解码,分别查看头部和载荷;本页不验证签名,不能据此判断登录凭据有效。

–

示例

输入

eyJhbGciOiJub25lIn0.eyJzdWIiOiJkZW1vIn0.

示例结果

头部:{"alg":"none"}
载荷:{"sub":"demo"}

这是无签名的教学示例,不可用于身份验证。

技术细节与边界

三段式 JWS 使用点号连接 Base64URL 编码的 Header、Payload 与签名。exp 等 NumericDate 声明以秒为单位。解码成功不等于签名有效,浏览器时钟判断也不能替代服务端对签名、算法、iss、aud、nbf、exp 的验证;五段式 JWE 不受支持。

关于此工具

在浏览器中解码三段式 JWT 的 Header 与 Payload,并将 JSON 整理为可读格式。辅助检查 alg、sub、exp 等字段;只展示声明,不验证签名,也不判断访问权限。

适用场景

  • 排查后端认证问题,看看客户端拿到的 token 里到底放了什么。
  • 确认 token 的 exp 是不是过期了。
  • 在文档里贴一份示例 JWT 的解码结果。

操作步骤

  1. 把 JWT 字符串(形如 aaa.bbb.ccc)粘进输入框。
  2. 点击“解码”,头部与载荷分别显示;有效 JSON 会自动格式化。

注意事项

本页未实现签名验证。生产系统需根据约定算法使用可信的验证密钥,并检查完整声明。

常见问题

JWT 在线解码成功是否代表签名有效?
JWT解码成功只说明内容可解析,不代表签名有效。常见JWS包含3段,本工具不支持5段JWE;实际认证还应在服务端校验签名、算法、签发方和受众,不能把页面显示的载荷当成可信身份。
JWT exp过期时间是秒还是毫秒?
JWT的exp等时间声明使用秒,不是毫秒。将秒值乘以1000即可得到JavaScript常用的毫秒时间;近期值常见10位与13位之别,最终有效性仍应依据服务端验证和允许的时钟偏差。
JWT 三段式和五段式为什么不能同样解码?
三段式JWS和五段式JWE结构不同,本工具只解析前者的头部与载荷。JWS有3段,JWE有5段且载荷涉及加密;遇到五段输入应使用支持对应加密算法和密钥的工具,不能删除分段强行解析。

相关工具

JWT 解码 · 拆分 JWT 三段并解码 Header 与 Payload(不校验签名)
JWT 解码 — 工具示意图 · dayeku.com