即时本地解码
粘贴令牌的瞬间即解码并美化打印头部和载荷为 JSON——无需点击按钮,无服务器往返。
即时解码 JWT(JSON Web Token)的头部、载荷和签名。查看 exp、iat、nbf 声明状态。100% 客户端运行,无需上传,无跟踪。
即时 JWT 解码,含声明状态指示器和美化打印 JSON——就在您的浏览器中。无需上传,无需注册,无限制。
复制 JWT 并粘贴到顶部的输入框中。工具将即时解码——无需点击按钮。
解码的头部(算法和令牌类型)和载荷(声明)以美化打印的 JSON 显示在输入框下方。
iat、nbf 和 exp 声明被解析并与当前时间比较。过期或尚未生效的令牌以红色或黄色标记。
使用复制按钮将解码的头部或载荷 JSON 复制到剪贴板,以进行进一步分析。
即时解码,含声明验证,就在您的浏览器中。
粘贴令牌的瞬间即解码并美化打印头部和载荷为 JSON——无需点击按钮,无服务器往返。
解析 `exp`、`nbf` 和 `iat` 声明并与当前时间比较,为过期、尚未生效和有效的令牌提供清晰的颜色编码状态。
正确解码包含非 ASCII 字符的 Base64URL 载荷,包括表情符号和国际文本。
解码的头部和载荷以适当的缩进格式化,便于阅读和调试。
所有解码在浏览器中本地完成。您的令牌永远不会被上传、记录或存储。
无需注册、无需 API 密钥、无每日配额。对个人和商业用途永久免费。
JSON Web Token (JWT) 是一个开放标准(RFC 7519),定义了一种紧凑且自包含的方式,以 JSON 对象的形式在各方之间安全传输信息。JWT 常用于 Web 应用中的认证和授权。用户登录后,服务器签发包含用户声明(如用户 ID 和角色)的 JWT。客户端在后续请求的 Authorization 头中包含此 JWT,允许服务器在不存储会话状态的情况下验证用户身份。
JWT 由用点分隔的三部分组成:`header.payload.signature`。头部指定令牌类型 (JWT) 和签名算法(如 HS256、RS256)。载荷包含声明——关于用户和附加元数据的语句。签名用于验证令牌未被篡改。只有头部和载荷被 Base64URL 解码以读取声明;签名是仅用于验证的二进制值。
解码 JWT 意味着 Base64URL 解码头部和载荷以读取声明。这不需要任何密钥——任何人都可以解码 JWT。解码告诉您令牌声明了什么,但不证明声明为真或令牌由受信任方签发。
验证 JWT 意味着使用密钥(HMAC 算法)或公钥(RSA/ECDSA 算法)检查签名。这确认令牌由密钥/私钥持有者签发且此后未被修改。只有经过验证的令牌才应被信任用于安全决策。我们的工具解码 JWT 但不验证——如需验证,请使用 jsonwebtoken (Node.js) 或 PyJWT (Python) 等库。
注册声明(RFC 7519 定义):`sub`(主体——用户 ID)、`iss`(签发者)、`aud`(受众)、`exp`(过期时间)、`nbf`(生效时间)、`iat`(签发时间)、`jti`(JWT ID)。私有声明:各方约定的自定义声明,如 `role`、`permissions`、`email` 或 `name`。我们的工具将载荷中的所有声明显示为格式化 JSON。
JWT 解码器不可或缺的真实场景。
检查认证服务器签发的 JWT 声明,确认用户 ID、角色或过期时间。
快速验证服务器端生成的 JWT 是否包含预期的载荷,再发送给客户端。
无需编写代码或安装库即可查看 JWT 的确切结构——头部、载荷、签名。
即时查看 401 错误是否由过期的 `exp` 声明或尚未生效的 `nbf` 声明引起。
热门 JWT 解码工具的并排对比。
| 功能 | NovaTools | JWT.io | JWT.ms |
|---|---|---|---|
| 隐私(无上传) | 100% 本地 | 上传到服务器 | 上传到服务器 |
| 价格 | 免费无限制 | 免费含广告 | 免费 |
| 声明状态 (exp/nbf/iat) | 颜色编码 | ||
| 美化打印 JSON | |||
| UTF-8 安全解码 | 有限 | ||
| 移动端友好 | 有限 | 有限 | |
| 离线可用 | 页面加载后 |
JWT.io 和 JWT.ms 将您的令牌上传到他们的服务器进行解码。我们的工具完全在本地解码——您的 JWT 永远不会离开浏览器。
JSON Web Token 的关键信息。
| 符号 / 代码 | 说明 | 示例 |
|---|---|---|
header.payload.signature | 用点分隔的三个 Base64URL 编码部分。 | eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.abc123 |
header | 包含算法 (alg) 和令牌类型 (typ) 的 JSON 对象。 | {"alg":"HS256","typ":"JWT"} |
payload | 包含用户和令牌声明的 JSON 对象。 | {"sub":"123","exp":1735689600} |
signature | HMAC/RSA/ECDSA 签名。不解码,仅验证。 | HMAC-SHA256(header.payload, secret) |
header.payload.signature用点分隔的三个 Base64URL 编码部分。
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.abc123header包含算法 (alg) 和令牌类型 (typ) 的 JSON 对象。
{"alg":"HS256","typ":"JWT"}payload包含用户和令牌声明的 JSON 对象。
{"sub":"123","exp":1735689600}signatureHMAC/RSA/ECDSA 签名。不解码,仅验证。
HMAC-SHA256(header.payload, secret)| 符号 / 代码 | 说明 | 示例 |
|---|---|---|
sub | 主体——标识用户或实体。 | "sub":"user-123" |
iss | 签发者——标识谁签发了令牌。 | "iss":"auth.example.com" |
aud | 受众——令牌的预期接收者。 | "aud":"api.example.com" |
exp | 过期时间(Unix 时间戳,秒)。 | "exp":1735689600 |
iat | 签发时间(Unix 时间戳,秒)。 | "iat":1735603200 |
nbf | 生效时间——令牌在此时间之前无效。 | "nbf":1735603200 |
sub主体——标识用户或实体。
"sub":"user-123"iss签发者——标识谁签发了令牌。
"iss":"auth.example.com"aud受众——令牌的预期接收者。
"aud":"api.example.com"exp过期时间(Unix 时间戳,秒)。
"exp":1735689600iat签发时间(Unix 时间戳,秒)。
"iat":1735603200nbf生效时间——令牌在此时间之前无效。
"nbf":1735603200| 符号 / 代码 | 说明 | 示例 |
|---|---|---|
HS256 | HMAC with SHA-256。对称——签名和验证使用相同密钥。 | {"alg":"HS256"} + 共享密钥 |
RS256 | RSA 签名 with SHA-256。非对称——私钥签名,公钥验证。 | {"alg":"RS256"} + RSA 2048 位密钥对 |
ES256 | ECDSA with P-256 and SHA-256。非对称——签名比 RSA 更小。 | {"alg":"ES256"} + EC P-256 密钥对 |
none | 无签名。不安全——切勿在生产环境中使用。 | {"alg":"none"} — 严重漏洞 |
HS256HMAC with SHA-256。对称——签名和验证使用相同密钥。
{"alg":"HS256"} + 共享密钥RS256RSA 签名 with SHA-256。非对称——私钥签名,公钥验证。
{"alg":"RS256"} + RSA 2048 位密钥对ES256ECDSA with P-256 and SHA-256。非对称——签名比 RSA 更小。
{"alg":"ES256"} + EC P-256 密钥对none无签名。不安全——切勿在生产环境中使用。
{"alg":"none"} — 严重漏洞JWT 解码完全在您的浏览器中完成。