🔑
免费 JWT 解码器
解码并检查任意 JSON Web Token。查看头部、载荷、过期时间和标准声明。一切在浏览器本地运行——令牌不离开您的设备。
加载后可离线使用
🔒 令牌完全在浏览器中解码,不向任何服务器发送数据。
常见用途
- 使用JWT解码器调试身份验证问题检查应用中的JWT以调试登录失败、权限问题和令牌过期问题。
- 测试端点时检查API令牌解码API返回的JWT,验证正在发出正确的声明、范围和权限。
- 安全审计JWT令牌作为安全审计的一部分审查JWT,检查弱签名算法、过长的令牌生命周期或有效负载中的敏感数据。
- 检查OAuth和OpenID Connect令牌解码来自Google、Auth0、Okta、Microsoft和其他OAuth提供商的访问令牌、ID令牌和刷新令牌。
- 了解JWT令牌的工作原理解码示例JWT以了解结构:标头、有效负载和签名。查看真实世界的声明示例。
工作原理
解码器是一个完全在浏览器中运行的手写零依赖解析器:它按点号拆分令牌,用字符串替换将每个 Base64URL 段转换为普通 Base64 并补齐到 4 的倍数,然后调用浏览器原生的 atob() 和 JSON.parse 还原头部和载荷对象。可选的签名验证使用 Web Crypto API(crypto.subtle.verify)——没有库、没有服务器。
- 1Base64URL 解码工具按两个句点分隔符拆分 JWT,得到三个段。每个段都是 Base64URL——使用 - 和 _ 代替 + 和 /,并省略填充。代码将这些字符换回来并用 = 号补齐,然后调用浏览器内置的 atob() 解码字节。
- 2JSON 解析与声明提取解码后的字节经过 JSON.parse 生成头部和载荷对象。注册声明 exp、iat 和 nbf 作为 Unix 时间戳提取并转换为 Date 对象;过期状态通过 setInterval 每 20 秒重新检查一次,因此在标签页打开期间过期的令牌会自动从有效变为已过期。相对时间(“3 天后”“2 小时前”)使用你浏览器语言的 Intl.RelativeTimeFormat 格式化。
- 3签名显示与可选验证原始的 Base64URL 签名字符串与头部和载荷一起显示。如果你提供密钥,工具会调用 crypto.subtle.importKey 和 crypto.subtle.verify 在本地检查签名。它接受 HMAC 共享密钥(HS256/384/512)、PEM 编码的 RSA 公钥(RS256/384/512)以及 ECDSA 公钥或 JWK/JWKS 对象(ES256/384/512)——由头部的 alg 字段决定。
- 4没有网络请求每一步——解码、时间戳计算和加密验证——都在浏览器的 JavaScript 引擎中运行。令牌和你输入的任何密钥材料都绝不会离开你的设备。
JWT 通常携带会话凭据、用户身份和授权范围;此工具完全在你的浏览器中使用 atob() 和 Web Crypto API 解码并可选择验证它们,因此令牌和你提供的任何密钥都不会被传输到任何地方。