JWT在线解析工具 - JWT Token解析、Header/Payload/Claims查看与过期判断(免费)

3059 字
15 分钟
JWT在线解析工具 - JWT Token解析、Header/Payload/Claims查看与过期判断(免费)

为什么你永远需要一个”JWT 解析器”#

调试接口时最常遇到的场景:后端报 401,日志里躺着一条长长的 Token,你盯着它,脑子里只有一串 eyJhbGciOi...。它到底声明了什么算法?携带了哪些 Claims?是不是早就过期了?

星点 JWT 在线解析 / 调试器 要解决的就是这件事:把一个 JWT 粘贴进来,立刻看懂它——结构是否合法、Header 与 Payload 内容、标准 Claims、签发/过期时间、Signature 原文。全程浏览器本地完成,Token 不会上传。

不过在开始之前,有一句话必须放在最前面:解析不代表签名有效。这个工具解码并分析 Token,但不做签名验证。很多开发者把”能解析出来”误当成”签名是有效的”,这是 JWT 最常见的认知误区。


JWT 三段结构:先说清楚你在看什么#

一个标准 JWT 由三段组成,用 . 连接:

Header.Payload.Signature
  • Header:声明算法与类型,通常形如 {"alg":"HS256","typ":"JWT"};
  • Payload:承载标准 Claims 与自定义字段;
  • Signature:对前两段的签名结果。

前两段是 Base64URL 编码的 JSON,所以解析器能直接解码成可读文本;Signature 是二进制签名,只能原样展示、用于后续验证。

星点的解析器在输入后立即按 . 拆分三段并校验结构,逐段展示内容与解析状态。这就是它的第一层价值:不用手动去 split(".")、不用自己 Base64URL 解码,打开即看。

Header 里有什么#

Header 面板重点展示三个常见字段,也会显示自定义字段:

字段含义
alg签名算法,如 HS256 / RS256 / ES256
typ类型,通常为 JWT
kid密钥 ID,用于在多把密钥中定位用哪一把

看懂 alg 很关键:它直接告诉你,验证时该拿 Secret 还是 Public Key。

Payload 里的标准 Claims#

Payload 是完整的 JSON,解析器会把它格式化展示,并把标准 Claims 单独识别出来:

Claim含义
iss签发方(Issuer)
sub主体(Subject),通常是用户 ID
aud接收方(Audience)
exp过期时间(Expiration Time)
nbf生效时间(Not Before)
iat签发时间(Issued At)
jtiToken 唯一标识(JWT ID)

怎么用(详细步骤)#

  1. 打开 JWT 在线解析 / 调试器;
  2. 把 JWT 粘贴到输入框,或点击”示例”载入演示 Token;
  3. 查看顶部总体状态:结构、Header、Payload、Exp、Signature 各项结论;
  4. 在 Header / Payload 面板查看内容,可格式化、压缩或一键复制;
  5. 在 Claims 与时间区域查看签发、过期、生效时间及过期判断;
  6. 需要验证签名时,点击”验证签名”直接进入 JWT 签名验证 并带入 Token。

你能看到什么#

结果区说明
结构状态三段是否完整、能否按 . 正确拆分
Headeralg / typ / kid 及其他自定义字段
Payload完整 JSON,支持格式化 / 压缩 / 复制
标准 Claimsiss / sub / aud / exp / nbf / iat / jti 单独识别
时间分析iat / exp / nbf 换算为本地时间与 UTC
过期判断未过期 / 即将过期 / 已过期
Signature原文展示,并明确标注”未验证”

关于时间与过期判断#

iat(签发时间)、exp(过期时间)、nbf(生效时间)都是 Unix 时间戳,肉眼读不了。解析器把它们自动换算为本地时间与 UTC,并对 exp 判断三种状态:

  • 未过期:当前时间早于 exp;
  • 即将过期:exp 距现在小于阈值(默认 10 分钟);
  • 已过期:当前时间已超过 exp。

“即将过期”这个状态很实用:前端可以在 Token 快到期时提前刷新,而不是等接口报错再补救。而 nbf(生效时间)意味着”在这个时间点之前,Token 还不能用”——有些签发方会用 nbf 留出时钟偏差的缓冲。


核心概念:解析 vs 验证#

这是整个 JWT 工具系列里最需要分清的一对概念。

JWT 解析JWT 签名验证
做什么解码 Header / Payload,做格式与时间分析用密钥重新计算签名并比对
需要密钥吗不需要需要 Secret(HS)或 Public Key(RS/ES)
结论是什么”内容能读懂、是否过期""签名是否有效、是否被篡改”
能证明什么只证明结构可读证明内容未被篡改、由持有密钥方签发

一句话:解析成功只说明 Token 结构可读,不代表身份可信或签名有效。 任何拿到 Token 的人都能解析它——因为 Header/Payload 本质是公开可解码的 Base64URL。真正需要密码学校验的是 Signature,而这一步必须用 JWT 签名验证。

这也是为什么解析器里 Signature 面板明确标注”未验证”,并引导你去验证工具,而不是给人”已经验过了”的错觉。


HS / RS / ES 算法对比#

解析器会在 Header 里看到 alg 字段,它决定 Token 用哪种签名算法。这里把三大家族说清楚:

家族算法密钥类型密钥关系典型用途
HMACHS256 / HS384 / HS512对称签名与验证用同一个 Secret服务内部、单一服务场景
RSARS256 / RS384 / RS512非对称私钥签名、公钥验证第三方身份服务(如 Auth0、Okta)
ECDSAES256 / ES384 / ES512非对称私钥签名、公钥验证需要更短签名、更高性能的场景

看到 HS256,验证时要准备 Secret;看到 RS256 或 ES256,验证时要准备公钥(PEM)。理解了 alg 的含义,你就知道下一步该拿什么去 JWT 签名验证。

为什么不建议把 alg 设成 none#

有些不规范实现允许 alg: "none"(无签名)。解析器能解出内容,但这样的 Token 没有任何完整性保护,任何人都能伪造。看到 alg 为 none 或 none 之外的异常值时,应格外警惕——这属于典型的”解析能过、但完全不安全”。


常见异常提示与排查#

现象可能原因处理
段数不正确Token 不是标准三段结构,或被截断检查是否完整复制、是否多了换行/空格
Header 非 JSONHeader 段不是合法 Base64URL 或内容被改用 Base64URL 编码解码 单独解码核对
Payload 非 JSON内容不是标准 JSON,或被截断/修改确认 Token 是否标准 JWT,或是否被中间截断
显示”已过期”exp 早于当前时间确认服务器与客户端时间是否同步,或 Token 确实过期

一个完整例子#

假设粘贴这样一个 Token(示意结构):

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4iLCJpYXQiOjE3MTYyMzkwMjIsImV4cCI6MTcxNjI0MjYyMn0.签名部分

解析器会告诉你:

  1. 结构:三段完整;
  2. Header:alg=HS256、typ=JWT;
  3. Payload:sub=1234567890、name=John;
  4. iat / exp 换算后的本地时间,并给出”未过期 / 即将过期 / 已过期”结论;
  5. Signature:展示原文,标注”未验证”。

这个例子也直观展示了”解析”与”验证”的区别:解析器能读出 sub=1234567890,但它不会、也不能告诉你这个 Signature 是否真的是用合法 Secret 签出来的。


别混淆:JWT / JWS / JWE / JWK#

接触 JWT 时,经常碰到几个长得像的缩写,混在一起很容易晕:

缩写全称是什么
JWTJSON Web Token承载”声明”的 Token 格式
JWSJSON Web Signature带签名的 JWT,即最常见的”三段式”结构
JWEJSON Web Encryption加密的 JWT,内容被密文包裹,与签名是两回事
JWK / JWKSJSON Web Key (Set)用于存放公钥的 JSON 格式,常见于身份服务

平时说的”解析 JWT”,绝大多数指的是解析 JWS(带签名、可读明文前两段)的那种 Token。解析器能解出 Header/Payload,正是因为 JWS 的前两段是 Base64URL 编码的明文 JSON,而非加密内容。如果拿到的 Token 前两段解出来是一堆无法读懂的二进制,那它可能是 JWE(加密 Token),需要先解密才能看到内容——这不在”解析”能力范围内。


手动解码前两段,理解解析器在做什么#

解析器做的事其实很透明,你也可以手动复现,帮助理解原理:

  1. 把 Token 按 . 切成三段;
  2. 取前两段,把 - 换回 +、_ 换回 /,补上 = 填充;
  3. 做 Base64 解码,按 UTF-8 还原文本;
  4. 得到的字符串就是 Header 和 Payload 的 JSON。

不想手动做,就用 JWT Base64URL 编码解码 的 JWT 专用模式一键提取解码。而解析器在这之上还多做了结构校验、Claims 识别与时间换算,一步到位。


什么时候用解析,什么时候用验证#

两个工具边界清晰,按这个判断即可:

你的问题用哪个工具
想看 Token 内容、Claims、过期时间JWT 在线解析
想知道签名是否有效、是否被篡改JWT 签名验证
要自己造一个 TokenJWT 生成器
要把 Token 拼成请求头调接口JWT → Authorization Header

典型的排查顺序:先解析看结构,再验证判真伪,最后结合 exp / iss / aud 下结论。


常见问题(FAQ)#

解析 JWT 会验证签名吗? 不会。解析只解码 Header、Payload 并做格式与时间分析,不验证签名。解析成功只说明 Token 结构可读,并不代表身份可信或签名有效。
为什么有的 Token 解析后 Payload 不是 JSON? 标准 JWT 的 Payload 应为 JSON。若提示"Payload 不是有效 JSON",说明该 Token 可能不是标准 JWT,或内容被截断、被修改。
Signature 能解密出什么? Signature 不可解密,它是对 Header.Payload 的签名结果,只能用于验证。本工具仅展示其原文,不伪造、不验证。
我的 Token 会被上传吗? 不会。所有解析都在浏览器本地完成,不产生任何网络请求,请放心使用。
"即将过期"是怎么判断的? 以当前时间为基准,若 exp 距现在小于阈值(默认 10 分钟)即标记为"即将过期",已小于当前时间则标记为"已过期"。
解析完想验证签名怎么办? 点击"验证签名"直接进入 [JWT 签名验证](https://www.xingdian.net/app/jwt/verify/),Token 会一并带入。
能自己造一个 Token 来解析吗? 可以,用 [JWT 生成器](https://www.xingdian.net/app/jwt/generate/) 生成后回解析器核对;快速测试用 [JWT 测试 Token 生成器](https://www.xingdian.net/app/jwt/testtoken/)。
Header 里的 kid 是干什么的? `kid`(密钥 ID)用于在签发方有多把密钥时,告诉验证方该用哪一把公钥来验签,常见于使用 JWKS 的身份服务。
为什么有的 Token 解析出来 Payload 是加密的一堆乱码? 那可能不是 JWS(带签名)而是 JWE(加密)Token。JWE 的内容是密文,需先解密才能读到明文,超出了"解析"能力范围。
解析出来的时间和我本地时间对不上? 时间以 UTC 展示,同时换算成本地时间。若仍觉得对不上,检查你的设备时区与系统时钟是否准确,或 Token 的 `iat`/`exp` 本身填错。
任何算法的 Token 都能解析吗? 能。解析不涉及算法,只要结构是三段 Base64URL,都能解码出 Header 与 Payload;`alg` 字段只影响后面的签名验证阶段。
nbf 和 exp 有什么区别? `exp`(过期时间)表示"此后不可用",`nbf`(生效时间)表示"此前不可用"。二者配合可限定 Token 的有效时间窗口。
支持移动端使用吗? 支持。解析器做了移动端适配,手机、平板、电脑都能用,粘贴 Token 即可解析。

总结#

JWT 解析的核心是”即时看懂”:粘贴即得 Header/Payload/Claims/时间/过期判断,省去手动解码。但务必记住解析与验证的边界——解析器只负责把 Token 读懂,判断它是否可信要靠 JWT 签名验证。

立即体验:访问 JWT 在线解析 / 调试器

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

相关文章 智能推荐
1
星点JWT工具完整指南 - 6个在线JWT解析/验证/生成/Base64URL工具导航(2026)
JWT工具 星点JWT工具系列完整指南:JWT在线解析调试、Header/Payload/Claims查看、iat/exp/nbf时间与过期判断、签名验证(HS/RS/ES全算法)、JWT生成、测试Token、Base64URL编码解码、Authorization Header生成等6个工具一站式导航。全部浏览器本地处理,Token与密钥不上传。
2
Base64URL编码解码工具 - JWT Base64编解码在线(免费)
JWT工具 在线Base64URL编码解码工具:支持文本/JSON与Base64URL互转,正确处理-_与=及UTF-8中文;JWT专用模式可粘贴完整JWT,自动提取Header/Payload/Signature三段并分别解码。浏览器本地处理。
3
JWT生成器 - 在线生成JWT Token,支持HS/RS/ES全算法(免费)
JWT工具 在线JWT生成器:自定义Header与Payload,支持HS256/384/512、RS256/384/512、ES256/384/512算法,输入Secret或Private Key本地签名生成JWT,一键复制。可快捷添加iss/sub/aud/exp等标准Claims,浏览器本地计算,密钥不上传。
4
JWT签名验证工具 - 在线校验JWT Signature是否有效(HS/RS/ES)
JWT工具 在线JWT签名验证工具:输入Token与Secret(或Public Key),按HS256/384/512、RS256/384/512、ES256/384/512校验签名是否有效,清晰区分通过/失败/算法不支持/密钥格式错误。浏览器本地计算,密钥不上传。
5
Authorization Header生成器 - JWT转Bearer请求头/cURL/Fetch(免费)
JWT工具 在线Authorization Header生成器:输入JWT,自动生成Authorization: Bearer <token>,并提供HTTP Header、cURL、JavaScript Fetch、JSON四种格式的一键复制。支持自定义前缀,浏览器本地处理。
随机文章 随机推荐
公告
🎉 已升级 2.0 版本,欢迎使用。
分类
标签
站点统计
文章
197
分类
24
标签
747
总字数
334,099
运行时长
0 天
最后活动
0 天前

目录