PixConvert

免费在线 JWT 解码器与检查工具

在浏览器中即时解码 JWT 头部和载荷声明。查看过期时间戳和令牌结构,不会暴露敏感密钥。

JWT Token

如何解码 JWT 令牌

1

粘贴令牌。

复制不带 Bearer 字样的 JWT 并粘贴到输入框中。三个由点分隔的部分齐全后会立即解码。

2

查看头部和载荷。

两者都以缩进 JSON 显示。上方的状态栏会显示算法、已过期或未过期,以及以本地时间表示的 exp 和 iat 日期。

3

复制你需要的内容。

使用头部或载荷面板上的复制按钮即可获取 JSON。签名以文本形式显示,且未经验证。

常见问题

关于解码、验证、有效期和令牌安全的解答。

如何解码 JWT 令牌?

将令牌粘贴到上方的输入框中。它会在两个点处被拆分,前两部分经 Base64url 解码后转为 JSON。头部和载荷会立即显示,同时显示算法以及 exp 和 iat 日期(如有)。

没有密钥也能解码 JWT 吗?

可以。头部和载荷只是经过 Base64url 编码,并未加密,因此任何拿到令牌的人都能读取。密钥或私钥用于签名或验证令牌,而不是读取其中的声明,这也是令牌中不应包含密码的原因。

解码和验证 JWT 有什么区别?

解码是读取声明。验证则是用密钥(HS256)或公钥(RS256、ES256)重新计算签名,以证明声明未被改动。本工具只负责解码,因此在服务器代码用 JWT 库验证之前,不要在你的应用中信任某个令牌。

在这里粘贴 JWT 安全吗?

有效的令牌在你的浏览器中解码,绝不会发送给 PixConvert。分析数据会记录「复制」等点击操作和解码耗时。如果令牌已损坏,错误文本也会一并发送,在 Chrome 中可能引用少量已解码的字符。已过期或测试用的令牌粘贴起来最安全。

exp 声明是什么?

exp 是过期时间,以自 1970 年 1 月 1 日起的秒数表示(Unix 时间)。本解码器会将其显示为你所在时区的本地日期,并在该时刻过后将令牌标记为已过期。没有 exp 的令牌显示为未过期。

令牌明明无效,为什么却显示未过期?

未过期只表示 exp 时间还没到,或者令牌没有 exp。本工具不会检查签名、nbf(生效时间)、签发者或受众,因此伪造的或尚未生效的令牌仍可能显示未过期。这些声明需要你自己检查。

为什么我的 JWT 显示无效,或提示段数不足?

解码器需要恰好三个部分,由两个点分隔。请去掉 Bearer 字样和引号,并检查复制的内容是否被截断。加密的 JWE 令牌有五个部分,没有密钥无法解码。

不知道签名算法也能解码 JWT 吗?

可以。所有算法的解码方式都相同,头部中的 alg 值(例如 HS256、RS256、ES256 或 none)会显示在状态栏中。只有在你自己的代码中验证签名时,才需要知道算法。

访问令牌和 ID 令牌有什么区别?

ID 令牌一定是 JWT,用来告诉你的应用谁登录了,包含 sub、email 和 name 等声明。访问令牌让客户端调用 API,可能是 JWT,也可能是不透明字符串。这里只能解码 JWT 格式的令牌。

为什么签名看起来像随机字符?

签名是 HMAC、RSA 或 ECDSA 的二进制输出,以 Base64url 文本形式写出。它本身没有可读含义,只用来证明头部和载荷未被改动。解码器只把它显示为文本,不会进行检查。

为什么带重音的名字显示为乱码?

解码器目前是逐字节读取载荷,而不是按 UTF-8 解析,所以 José 会显示为 José,emoji 会变成奇怪的符号。令牌本身没有问题。sub、iat 和 exp 等纯 ASCII 声明不受影响。

可查看头部、载荷和有效期的 JWT 解码器

将任意三段式 JWT 的头部和载荷以格式化 JSON 展示,一眼看到 alg、exp 和 iat,并可一键复制任一部分。

JWT 解码器将示例 HS256 令牌拆分为头部、载荷和签名,每部分都以缩进的 JSON 显示

将 JWT 头部和载荷解码为 JSON

粘贴令牌后,头部和载荷会在你输入时以缩进 JSON 显示,无需点击解码按钮。原始签名显示在下方,每个 JSON 面板都有各自的复制按钮。

  • 每次修改即时解码,无需按钮
  • JSON 采用 2 空格缩进
  • 可分别复制头部或载荷
立即试用
已过期 RS256 令牌的 JWT 解码器状态,exp 和 iat 声明以本地时间的 10/12/2026 日期显示

检查 JWT 有效期和算法

状态栏读取 exp 并显示已过期或未过期,旁边是头部中的 alg。exp 和 iat 以你所在时区的本地时间显示,无需自己换算 Unix 秒数。

  • 根据 exp 声明显示已过期或未过期
  • 显示 alg,例如 HS256 或 RS256
  • exp 和 iat 以本地时间显示
立即试用

只解码,不验证

本工具从不检查签名,也没有输入密钥或公钥的字段。可用它读取声明,再在你自己的代码中用 JWT 库验证令牌。

自动处理 Base64url

每个部分都会进行 Base64url 解码:- 和 _ 会被还原,缺失的填充会被补上,因此令牌无需修改即可解码。alg 为 none 且签名为空的未签名令牌同样适用。

免费,无需账号

无需注册,没有次数限制。分析数据会记录「复制」等点击操作和解码耗时,绝不会记录有效令牌。解码失败时还会发送错误文本,其中可能引用令牌的一部分。

ID 令牌和访问令牌

可解码 OpenID Connect ID 令牌、JWT 形式的 OAuth 访问令牌和 API 会话令牌。加密的 JWE 令牌有五个部分,无法读取,会显示错误。

什么时候需要 JWT 解码器

能直接看到令牌里携带的内容,调试认证流程会轻松得多。

API 调试

从 Authorization 头中复制 Bearer 令牌,去掉 Bearer 字样后粘贴进来,即可看到你的 API 收到的用户、角色和权限范围。

  • 读取访问令牌中的 sub、roles 和 scope 声明
  • 检查 401 错误是否由令牌过期引起
  • 将载荷 JSON 复制到测试数据中

OAuth 和 OIDC 开发

在构建 OAuth 2.0 或 OpenID Connect 登录时解码 ID 令牌和访问令牌,确认签发者、受众和 email 声明是否正确。

  • 检查 id_token 中的 iss、aud 和 email
  • 对比测试环境和正式环境登录的令牌
  • 读取 iat 和 exp,了解令牌的有效时长

安全审计

在安全检查中审查令牌的算法和声明。标记 alg 为 none 的令牌,并查找不应出现在任何人都能读取的载荷中的个人数据。

  • 找出使用 alg none 且没有签名的令牌
  • 发现载荷中暴露的邮箱或用户 ID
  • 根据 iat 和 exp 日期发现过长的令牌有效期