在线 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
如何使用
- 粘贴紧凑 JWT。自动去掉
Bearer,结果即时更新。 - 查看分段计数、
alg与时间声明徽章。 - 分别复制头部与载荷 JSON。
- 需要时在高级中验证 HS*。真正信任决策请用库 + JWKS。
示例
| 输入 / 设置 | 输出 | 说明 |
|---|---|---|
| Sample (HS256) | alg: HS256 + 时间声明 | 高级密钥:utill-sample-secret |
alg=none | 警告 + JSON | 无签名 — 不可信 |
Bearer eyJ… | 去前缀后相同结果 | 方便粘贴 Authorization |
过去的 exp | JSON + 已过期徽章 | 仍可检查声明 |
实践中的常见误区
- 解码 ≠ 验签。
- 生产环境应固定允许算法并拒绝
alg=none。 - HS* 验证默认折叠,避免与只读解码混淆。
- 勿把线上访问令牌放进共享 URL。
参考资料
最后审阅: 2026-07-26
常见问题
- 解码等于验签吗?
- 不等于。解码只把头部与载荷显示为 JSON;验签需要密钥。默认仅解码(高级可选 HS* HMAC)。
- 为什么 alg=none 危险?
- 没有签名,任何人都能伪造声明。生产环境应拒绝无签名 JWT。
- 可以粘贴带 Bearer 前缀的令牌吗?
- 可以。会自动去掉 `Bearer ` 再解码。
- 过期令牌还能看吗?
- 可以。会显示 `exp`/`iat`/`nbf` 的本地时间、ISO 与相对状态徽章。