JWT 解码器

JWT 令牌

粘贴 JWT 令牌以立即解码。

粘贴 JWT 令牌以立即解码。

关于此工具

JWT(JSON Web Token)解码是我在调试身份验证问题、检查 API 令牌或排查 SSO 集成时几乎每天都要做的事情。当用户报告'访问被拒绝'错误时,我做的第一件事就是解码他们的 JWT 以检查过期时间、角色和声明。此工具可立即解码 JWT,而无需将令牌发送到任何服务器——在处理生产访问令牌或客户凭据时至关重要。它将令牌分为三部分(头部、负载、签名),对前两部分进行 Base64 解码,并以可读格式显示 JSON 内容。签名会显示但不验证——这是一个检查工具,而不是验证器。非常适合集成 OAuth2、调试 Auth0/Cognito 令牌或了解基于 JWT 的身份验证如何工作的开发人员。\n\n### JWT 结构\n\nJWT 包含由点 (.) 分隔的 3 部分:\n\n- **头部** - 包含令牌类型和签名算法(例如 HS256、RS256)\n- **负载(声明)** - 包含实际数据和声明\n- **签名** - 验证令牌未被篡改\n\n解码器帮助开发人员快速查看负载内容以进行调试,例如查看角色/权限、检查令牌过期、验证发行者信息、检查 API 范围以及在身份验证实现期间验证令牌结构。\n\n### 使用场景\n\n**1. 调试身份验证提供商的令牌**\n- Firebase Auth\n- Auth0\n- AWS Cognito\n- Supabase\n- Keycloak\n\n**2. 前端开发**\n\n检查:\n- claim role=admin 是否存在?\n- 用户投诉时令牌是否已过期?\n- 令牌结构是否正确?\n\n**3. 后端开发**\n\n在后端编写验证之前验证负载。\n\n**4. QA / 测试**\n\n在 API 测试期间检查 API 令牌。\n\n**5. 安全审查(快速检查)**\n\n检查签名算法 (alg) 的安全性:\n- HS256、RS256、ES256 → ✓ 安全\n- NONE → ⚠️ 不安全\n\n**6. 调试 OAuth 2.0 / OpenID Connect**\n\n查看:\n- `iss` - 发行者\n- `aud` - 受众\n- `exp` - 过期时间\n- `nonce` - 防重放攻击\n- `azp` - 授权方

使用方法

将 JWT 令牌(格式:xxxxx.yyyyy.zzzzz)粘贴到输入字段中。该工具会自动将其拆分为头部、负载和签名部分。头部显示算法(HS256、RS256 等)和令牌类型。负载显示用户 ID (sub)、过期时间 (exp)、签发时间 (iat)、发行者 (iss) 以及您的应用添加的自定义声明等声明。过期时间是 Unix 时间戳——该工具可以将其转换为可读日期。当 API 返回 401 错误时使用此工具检查令牌是否已过期,在调试授权时验证角色/权限声明是否存在,或在学习 JWT 结构时使用。\n\n### 使用方法\n\n1. 复制您的 JWT 令牌\n2. 粘贴到输入字段\n3. 工具自动分离头部、负载和签名\n4. 查看解码结果:JSON + 声明细分\n5. 如需要,使用复制/导出按钮

限制与重要说明

⚠️ **重要**:此工具仅解码令牌,不验证签名!\n\n此工具仅解码 JWT——不验证签名或验证令牌。解码后的令牌显示有效声明并不意味着令牌是真实的;攻击者可以制作具有虚假声明的令牌。始终使用您的密钥或公钥(用于 RS256)在服务器端验证签名。该工具适用于标准 JWT 格式(Base64URL 编码中的 header.payload.signature)。它不处理加密的 JWT (JWE) 或嵌套令牌。如果您的令牌包含二进制数据或非标准编码,解码可能会失败。对于代码中的自动令牌验证,请使用适当的 JWT 库,如 jsonwebtoken (Node.js)、PyJWT (Python) 或 jose4j (Java)。安全提示:不要将敏感的生产令牌粘贴到您不信任的在线工具中——此工具在客户端运行,但始终在 DevTools 网络选项卡中验证没有任何内容被上传。