JWT 解码器
解码 JSON Web Token 的头部和有效载荷(不进行签名验证)
签名以原始形式显示 — 此工具不验证它。要验证真实性,请使用带有密钥/公钥的服务器。
什么是 JWT?
JSON Web Token 是由三个用点分隔的 Base64URL 编码部分组成:头部(使用的算法)、有效载荷(声明 — 通常是用户 ID、过期时间、范围)和签名。头部和有效载荷并未加密,仅仅是编码 — 任何拥有令牌的人都可以读取它们。签名证明令牌未被篡改。
解码器将这三个部分分开,Base64URL 解码前两个部分,并美化 JSON。它不验证签名 — 这需要发行服务器的密钥或公钥。请勿将生产令牌粘贴到不受信任的解码器中;这个解码器仅在浏览器中运行且从不上传,但作为习惯,请使用您自己开发环境中的令牌进行测试。
使用场景
- 审计第三方 JWT——粘贴 Authorization header 直接读 header 和 payload,不用信任远端调试器。
- 排查鉴权失败——开发环境 401 时,核对 exp / iat / aud 是否符合后端预期。
- 检查 OAuth / OIDC token——解码 Google、Auth0、Okta 返回的 access / id token 查看用户 claims。
- 教学 JWT 结构——给学生演示三段 Base64 拼接、签名只防篡改不加密的特性。
示例
Decoding a sample token
Input
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyXzEiLCJleHAiOjE3MDAwMDAwMDB9.signatureOutput
Header:
{"alg": "HS256"}
Payload:
{"sub": "user_1", "exp": 1700000000}常见问题
解码器验证签名吗?
不 — 验证需要用于签署令牌的密钥(HS256)或公钥(RS256)。解码器仅向您展示内部内容;信任来自服务器端验证。
JWT 内容是加密的吗?
不,只是 Base64 编码。任何拥有令牌的人都可以读取声明。如果声明需要保密,请使用 JWE(加密的 JWT)。
`exp` 声明是什么意思?
令牌过期的 Unix 时间戳。过期的令牌应被服务器拒绝。解码器会为您标记过期的令牌。
我可以解码一个格式错误的令牌吗?
如果某个部分无法 Base64 解码或解析为 JSON,解码器会显示一个指向有问题部分的错误。
我的令牌被上传了吗?
没有。解码是纯 JavaScript — 您的令牌保留在您的设备上。
