JWT 解码器
粘贴 JWT 以检查其头部、载荷和声明。解码完全在浏览器中完成 — 你的令牌永远不会发送到服务器。
在你的浏览器中本地解码,不会发送到任何地方。
头部
{
"alg": "HS256",
"typ": "JWT"
}载荷
{
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022
}签名
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
签名验证需要 secret 或公钥。本工具不验证签名,仅解码。
JWT 是什么?
JSON Web Token (JWT) 是一种紧凑、URL 安全的在两方之间传递声明的方式。它由三部分组成 — 头部、载荷和签名 — 用点分隔。头部和载荷是 base64url 编码的 JSON。签名使用头部指定的算法和 secret 或私钥计算,接收方可验证令牌未被篡改。JWT 常用于 REST API 的身份验证和信息交换。
常见 JWT 声明
issIssuer (签发者)谁签发了令牌 — 通常是标识身份服务器的 URL。
subSubject (主题)令牌描述谁 — 通常是用户 ID。
audAudience (受众)令牌面向谁 — 预期接受它的 API 或服务。
expExpiration (过期时间)在此 Unix 时间戳之后令牌不应被接受。
nbfNot Before (生效时间)在此 Unix 时间戳之前令牌不应被接受。
iatIssued At (签发时间)令牌签发时的 Unix 时间戳。
jtiJWT ID令牌的唯一标识 — 用于防止重放攻击。
JWT 解码器常见问题
把我的 JWT 粘贴到这里安全吗?
是。解码完全在你的浏览器中通过 JavaScript 完成 — 令牌不会发送到我们的服务器。你可以在解码时打开 DevTools → Network 验证。即便如此,避免在任何在线解码器中粘贴能访问生产系统的令牌。
这个工具能验证签名吗?
不行。验证签名需要 secret 或公钥,绝不应该粘贴到在线工具。请在自己的后端用签发者公钥(非对称算法)或共享 secret 验证签名。
这个工具支持哪些算法?
所有。本工具仅解码 base64url 编码的 JSON 部分,因此支持任意签名算法 (HS256、RS256、ES256、EdDSA 等)。算法在头部的 `alg` 字段中。
为什么我的令牌比其他人的短?
JWT 长度取决于载荷内容 (声明越多越长) 和签名算法 (RSA 签名比 HMAC 更长)。仅含少量声明、以 HS256 签名的紧凑令牌可能不到 200 字符。声明多或使用 RSA 签名的令牌通常 500+ 字符。
JWT 和 JWS/JWE 有什么区别?
JWS (JSON Web Signature) 是签名但未加密的 — 任何人都能读取载荷。JWE (JSON Web Encryption) 则对载荷加密。实际中大多数 "JWT" 其实是 JWS — 签名但可见。本工具解码 JWS。加密的 JWE 没有解密密钥无法解码。