JWT 解析验证工具
解析 JWT 头部与载荷,校验签名与过期时间。
隐私安全:所有处理均在您的浏览器本地完成,数据绝不上传粘贴 JWT
支持带 Bearer 前缀的整段内容;解析在本地完成,Token 不会上传。
概览
HEADER算法与类型声明
PAYLOAD业务声明与标准声明
SIGNATURE签名段(Base64URL 原文)
签名验证
工作原理
- 1把 JWT 粘贴到输入框(支持带 Bearer 前缀),工具按 "." 切分为 header、payload、signature 三段并逐段 Base64URL 解码。
- 2解码结果以 UTF-8 还原为文本后格式化为 JSON,分别用 HEADER、PAYLOAD、SIGNATURE 三张卡片展示;payload 不是 JSON 时按原文展示。
- 3工具提取 exp / nbf / iat 声明换算成本地时间与相对时长,给出过期状态与剩余有效期,并列出 payload 的字节大小。
- 4如需验签,选择 header 中声明的算法:HS 系列输入共享密钥,RS / PS / ES 系列粘贴 PEM 公钥,工具在本地完成签名校验。
- 5验签通过后顶部警示横幅自动隐藏;失败或未验签时横幅保留,提示当前 Token 内容尚未被证实可信。
常见问题
JWT 解析和 JWT 验证有什么区别?
解析只是把 Base64URL 编码的 Header 与 Payload 解码成可读的 JSON,任何人都能做,不代表 Token 可信;验证则要用密钥或公钥校验签名,确认内容确实由持有密钥的一方签发且未被篡改。本工具两者都提供,并在未通过验签时保留顶部警示横幅。
我的 Token 会被上传到服务器吗?
不会。解析、时间换算与签名校验全部在浏览器内完成,页面不发起任何网络请求,断网也能正常使用。密钥与公钥同样只在本地参与计算,不会离开你的设备。
HS256 和 RS256 应该用哪个?
HS 系列使用双方共享的同一把密钥(对称),实现简单、性能好,适合单体应用或内部服务;RS / PS / ES 系列使用私钥签名、公钥验签(非对称),验签方拿不到签名能力,更适合开放平台、多方协作与 JWKS 场景。
为什么在 http 环境下无法验证 RS256?
RSA 与 ECDSA 的验签依赖浏览器 WebCrypto(crypto.subtle),该接口出于安全考虑只在 HTTPS 或 localhost 等安全上下文下提供。此时页面会提示降级为「仅解析不验签」;而 HS256/384/512 使用本工具内置的纯前端 HMAC 实现,不受此限制。
exp 显示已过期,Token 就一定无效吗?
exp 是 JWT 规范定义的标准声明,服务端通常会拒绝已过期的 Token,但最终是否接受由服务端实现决定(存在时钟偏移容忍、忽略 exp 等例外)。本工具只按当前本地时间做判断,可用于快速排查,不代表服务端的真实行为。
密钥应该填什么格式?
HS 系列默认按 UTF-8 原文处理密钥(与多数示例一致);若密钥本身是 Base64URL 编码的字节串,请在「密钥编码」中选择 Base64URL。RS / PS / ES 系列请粘贴 PEM 格式的公钥,即以 -----BEGIN PUBLIC KEY----- 开头、-----END PUBLIC KEY----- 结尾的整段内容。