JWT 解码器
在线解码 JWT 令牌,查看 Header 与 Payload 内容与过期状态。解码在浏览器本地完成,令牌不会上传。
使用说明
- 把 JWT 令牌粘贴到输入框,无需点击按钮,Header 与 Payload 会立即解码并美化显示。
- 令牌按「.」分段后逐段用 Base64URL 解码(自动补齐 = 填充),并以 JSON 格式展示,方便阅读嵌套结构。
- 下方摘要列出 alg / typ,以及 iat(签发)、nbf(生效)、exp(过期)声明对应的本地时间;exp 会同时给出「已过期 / 有效」徽章与剩余时间。
- 签名段原样展示,仅便于复制比对;本工具不校验签名,不能证明令牌未被篡改。
- 想快速体验可点击「示例」生成一枚演示令牌;「清空」会移除输入与全部结果。
常见问题
我的令牌会上传到服务器吗?
为什么显示「有效」却仍被服务端拒绝?
支持哪些令牌格式?
时间显示的时区是什么?
使用步骤
- 粘贴令牌即时解码
把三段式 JWT 粘进输入框即可,无需点击按钮。Header 与 Payload 会立即解码并按 JSON 格式化展示。
- 阅读关键声明摘要
结果区列出 alg、typ 以及 iat 签发时间、nbf 生效时间与 exp 过期时间。时间已换算为你所在时区的本地时间。
- 确认令牌是否过期
exp 一行带「已过期 / 有效」徽标与剩余时间,不必手动换算 Unix 时间戳即可快速判断令牌状态。
- 按需复制各部分内容
Header、Payload 与签名区域右上角各有「复制」按钮。把声明内容贴进文档、工单或测试脚本都很方便。
- 谨记签名未经校验
签名部分仅原样展示,本工具不校验签名。显示「有效」不代表令牌未被篡改,信任判定必须由服务端完成。
工具详细介绍
JWT 由三段 Base64URL 内容以点号连接。Header 声明签名算法,Payload 携带具体声明,Signature 供服务端校验真伪。前两段只是编码并非加密,任何拿到令牌的人都能还原内容。本工具在浏览器本地拆分并解码三段,格式化 JSON,并把时间声明换算成本地时区。
适合调试接口鉴权,核对 sub、iss、exp 等声明是否符合预期。令牌没过期却被拒绝时,可以用它排查时区或时钟偏差问题。阅读第三方 API 文档时,也能快速理解示例令牌结构。请只粘贴测试或脱敏令牌,避免真实凭据停留在页面上。
原理与背景
JWT 令牌本体由 RFC 7519 规定,头部 alg 字段决定签名算法。HS256 是对称方案,签发方与校验方持有同一把密钥。RS256 与 ES256 走非对称路线,私钥签发、公钥验签,更适合开放给第三方。三段编码采用 Base64URL 变体,把标准 Base64 的加号与斜杠换成减号和下划线,并去掉末尾填充等号。这样令牌能安全放进链接与 Cookie,代价是前两段人人可解:它们是编码,不是加密。
签名结构由 RFC 7515 规定,服务端用它校验令牌真伪。iss、sub、aud、exp、nbf、iat、jti 属于注册声明,其中三个时间声明都是秒级 Unix 时间戳。iat 记录签发时刻,nbf 是生效下限,exp 是过期上限,服务端校验通常容忍几十秒的时钟偏差。其余声明由业务自行定义,没有统一含义,读令牌时先分清这两类。本工具把时间值换算成设备本地时区,方便阅读。令牌是否可信,最终由签发方密钥与签名决定。签名未经验证时,「未过期」只是声明之一,不是信任凭证。
典型使用场景
- 排查「没过期却被拒」的令牌
exp 明明仍有效但接口持续返回 401 时,先核对签名算法与密钥是否匹配。再看设备时钟是否偏差过大,最后检查 aud 与 iss 是否和服务端配置一致。
- 排查权限不足的 403
接口返回 403 而不是 401 时,令牌多半有效但声明不达标。解开令牌检查 scope、role 或租户声明里是否包含所需值,比反复盲试请求快得多。
- 检查令牌里有没有敏感数据
新写的签发逻辑难免把手机号、邮箱这类敏感字段塞进 Payload。把线上令牌解开看一眼,就能在数据真正泄露之前发现设计问题并推动整改。
使用技巧
- Payload 只是编码不是加密,任何人都可还原,切勿存放敏感数据。
- 时间声明是秒级 Unix 时间戳,按设备时区换算,与服务端时区可能不同。
- 五段式 JWE 加密令牌无法直接解码,工具会给出明确提示;alg 为 none 时签名为空属正常。
注意事项
- 别在日志里整段打印令牌
把 JWT 写进日志等于把凭据复制了一份,日志的可见范围通常远大于代码仓库。打印时只留 sub 与 jti,令牌本体截断或脱敏。
- alg=none 需要警惕
历史上多个高危漏洞源于服务端接受 alg=none 的未签名令牌。调试时看到空签名,应确认服务端已显式禁用该算法,而不是当作正常现象放过。
- 别用普通 Base64 硬解
令牌用的是 Base64URL 变体,字符表不含加号、斜杠与填充等号。用通用 Base64 解码器硬解会报错或得到乱码,按 Base64URL 规则才能还原。