JWT 解析器
在本地解析 JWT:拆分 header / payload / signature,Base64URL 解码、JSON 美化,展示标准声明与人类可读时间,判断是否过期或未生效(不验证签名)。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
JWT
请输入 JWT
这个工具能做什么
- 调试登录流程时,把接口返回的 JWT 粘进来,直接看到 header 里的算法和 payload 里的业务字段,不用先跑一遍 base64 解码。
- 排查「令牌过期」还是「还没生效」:exp / nbf / iat 会显示成 ISO 时间并给出距当前时间的剩余时长,还能一眼看出令牌是否已经失效。
- 对接第三方 SSO 时确认对方发了哪些声明:标准声明(iss、sub、aud、exp、nbf、iat、jti)和自定义声明分开列出,方便对照文档。
- 检查签名算法是否符合预期:header.alg 为 none 时会明确警告「没有签名,任何人可伪造」,避免把无签名令牌当成可信令牌。
示例
输入
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
输出
header:
{
"alg": "HS256",
"typ": "JWT"
}
payload:
{
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022
}
signature: 32 bytes(未验证)
iat: 1516239022 → 2018-01-18T01:30:22.000Z这是 jwt.io 上的经典示例令牌。签名只统计字节长度,工具不会验证签名,解析成功不代表令牌可信。
常见问题
解析成功是不是说明令牌是有效的?
不是。这个工具只做 Base64URL 解码和 JSON 美化,完全不验证签名。任何人都能伪造一个 header 和 payload 都合法、签名却是假的令牌。判断令牌是否可信必须由服务端用密钥或公钥校验签名。
为什么我明明没登录,解析出来还是「在有效期内」?
有效期只看 exp / nbf 两个声明,与签名无关。如果没有 exp,工具不会给出过期判断;如果 exp 在未来,就会显示为有效,即使签名是伪造的。
令牌的段数不是 3 段会怎样?
直接报错「必须由 3 段组成」。JWE(加密令牌)是 5 段,不在这里的支持范围内;有些框架会把 Bearer 前缀带进来,这个工具会自动忽略大小写不敏感的 Bearer 前缀。
时间声明显示成什么?
exp、nbf、iat 会显示原始秒数、ISO 格式的绝对时间,以及相对当前时间的天/时/分/秒差(过去的时间标注「前」)。时间按 UTC 计算,本地时区差异需要自己换算。
把令牌粘进来安全吗?
解析全在浏览器本地完成,不发任何网络请求。但令牌本身就是凭证,正式环境的生产令牌最好还是在服务端或专用工具里处理,不要在共享电脑上粘贴。
关键词:jwtjson web tokentoken令牌解析parsedecodebase64urlclaim声明exp过期