ZH
我的工具

JWT 解码器

在浏览器中解码 JSON Web Token:以 JSON 读取头部和载荷,把 iat/nbf/exp 显示为日期,并可选择验证 HMAC 或 RSA/ECDSA 签名。

留空则只解码,不验证。
头部
载荷
算法
HS256
签名
未验证——粘贴密钥或公钥即可检查
时间声明(与当前时间比较,UTC)
声明UnixUTC状态
签发时间1,516,239,0222018-01-18T01:30:22.000Z
我的工具 →
广告

JSON Web Token(JWT)把头部、包含声明的载荷和签名打包成三段用点号相连的 Base64URL 内容。这个解码器会把头部和载荷显示为易读的 JSON,把时间声明转换成日期,并且在你粘贴密钥或公钥后还能验证签名。令牌不会离开你的浏览器。

使用方法

  1. 粘贴令牌。
  2. 阅读格式化后的头部和载荷。
  3. 把 iat、nbf 和 exp 声明与当前时间对照。
  4. 如需验证签名,可粘贴 HMAC 密钥或 PEM/JWK 公钥。

计算公式

签名是对 "header.payload"(前两段 Base64URL)计算得到的。HS256 使用共享密钥的 HMAC-SHA-256;RS/PS/ES 使用公钥的 RSA 或 ECDSA。

能解码并不等于可信:任何人都能读取 JWT。只有有效的签名才能证明它是由密钥持有者签发的。

示例

经典示例令牌解码后的载荷为 { "sub": "1234567890", "name": "John Doe", "iat": 1516239022 },填入密钥 "your-256-bit-secret" 后,它的 HS256 签名验证为有效。

常见问题

我的令牌会被上传吗?

不会。解码和签名验证都借助 Web Crypto API 在浏览器中运行,令牌和密钥都留在你的设备上。

为什么 alg 为 "none" 会有警告?

alg 为 "none" 的令牌没有签名,任何人都能修改其中的声明。库应当拒绝这样的令牌,这个警告只是提醒。

可以验证哪些签名?

使用共享密钥验证 HMAC(HS256/384/512),使用签发方公钥(SPKI PEM 或 JWK)验证 RSA、RSA-PSS 和 ECDSA(RS/PS/ES 256/384/512)。切勿向任何网站粘贴私钥——验证只需要公钥。声称使用 HS256 的令牌如果配的是公钥,会被拒绝,因为接受这种情况是一种已知的伪造手法。

资料来源

最后更新:

引用此工具
APA

kakaoCalc. (2026, November 8). JWT 解码器. https://kakao.mobile/zh/tools/jwt-decoder/

MLA

“JWT 解码器.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/jwt-decoder/.

广告