在线 JWT 解码

头、载荷、签名

粘贴 JWT,将其 Base64URL 头部和载荷解码为格式化 JSON。无需验证签名即可查看声明、角色和过期时间。

解码仅展示声明,不等于验签。令牌只留在浏览器中,不会上传。

  • 分段0/3

这个工具是什么?

将 JWT 的头部与载荷 Base64URL 解码为格式化 JSON,便于调试 OAuth/OIDC 访问令牌与 API 授权声明。

解码仅供检查,不拉取 JWKS,也不校验 iss/aud。高级面板可用本地 HMAC 密钥验证 HS256/HS384/HS512,不能替代生产验签器。

在需要查看声明结构、kid、角色/范围以及 exp/iat/nbf、且不想上传令牌时使用。

常见用途

  • 排查 Bearer 被拒绝的原因(过期 exp、意外 alg
  • OAuth/OIDC 联调时检查 IdP 声明
  • 接入 JWKS 前确认头部 kid

如何使用

  1. 粘贴紧凑 JWT。自动去掉 Bearer ,结果即时更新。
  2. 查看分段计数、alg 与时间声明徽章。
  3. 分别复制头部与载荷 JSON。
  4. 需要时在高级中验证 HS*。真正信任决策请用库 + JWKS。

示例

输入 / 设置输出说明
Sample (HS256)alg: HS256 + 时间声明高级密钥:utill-sample-secret
alg=none警告 + JSON无签名 — 不可信
Bearer eyJ…去前缀后相同结果方便粘贴 Authorization
过去的 expJSON + 已过期徽章仍可检查声明

实践中的常见误区

  • 解码 ≠ 验签。
  • 生产环境应固定允许算法并拒绝 alg=none
  • HS* 验证默认折叠,避免与只读解码混淆。
  • 勿把线上访问令牌放进共享 URL。

参考资料

最后审阅: 2026-07-26

常见问题

解码等于验签吗?
不等于。解码只把头部与载荷显示为 JSON;验签需要密钥。默认仅解码(高级可选 HS* HMAC)。
为什么 alg=none 危险?
没有签名,任何人都能伪造声明。生产环境应拒绝无签名 JWT。
可以粘贴带 Bearer 前缀的令牌吗?
可以。会自动去掉 `Bearer ` 再解码。
过期令牌还能看吗?
可以。会显示 `exp`/`iat`/`nbf` 的本地时间、ISO 与相对状态徽章。