🪪 JWT 解码工具

在浏览器本地查看 JWT 的 Header、Payload 和时间字段。Token 不会上传,页面也不会验证签名。

等待输入...
等待输入...
等待输入...
只根据 exp 字段展示过期状态,不能替代服务端验签、撤销检查或权限校验。任何工具都无法仅靠解码证明 Token 的真实性。

作者:kaenfsk · 更新于 2026 年 10 月 12 日 · 内容与维护标准

这个工具做什么,不做什么

JWT(JSON Web Token,RFC 7519)通常由 Header、Payload 和 Signature 三段组成,中间用点号分隔。本站工具会解析前两段并进行 Base64URL 解码,把 JSON 以缩进格式展示,同时把 exp、iat、nbf 等时间字段转换为北京时间,帮助你快速排查 Token 是否过期、字段是否符合预期。

它不会验证签名,也不会向颁发 Token 的服务器发送请求。所谓“验签”需要持有密钥或公钥,并按照 Header 中的算法正确执行密码学运算;仅凭浏览器里的字符串无法证明 Token 没有被伪造。因此本页面适合调试和教学,不能作为安全系统的授权依据。

JWT 三段结构

部分内容本工具的处理
Header通常包含 alg、typ、kid 等元数据Base64URL 解码并格式化 JSON
Payload包含 iss、sub、aud、exp、iat 等声明和业务字段解码、格式化并识别标准时间字段
Signature服务端按算法生成的签名值只显示字符长度,不验证,不猜测密钥

请注意,Payload 只是 Base64URL 编码,不是加密。任何拿到 Token 的人都能读取其中的字段,所以不要把密码、身份证号、支付信息或长期有效的密钥直接放进 JWT。需要保密时,应先加密再放入 Token,或者不要把敏感信息放进 Token。

常用声明字段怎么看

  • iss(issuer):签发者。用于判断 Token 是否来自预期的认证服务。
  • sub(subject):主体标识。通常是用户 ID,但不应该依赖它直接做权限判断。
  • aud(audience):接收方。验证时要确认当前服务在允许的受众列表中。
  • exp(expiration time):过期时间,使用 Unix 秒级时间戳。没有 exp 的 Token 可能长期有效,需要特别留意。
  • nbf(not before):生效时间。当前时间早于 nbf 时应拒绝使用。
  • iat(issued at):签发时间,用于判断 Token 新旧和辅助排查缓存问题。
  • jti(JWT ID):唯一标识,可用于防重放或撤销列表,但需要服务端配合才能生效。

一次规范的 JWT 排查流程

  1. 先确认字符串确实有三段,且没有复制到多余空格、换行或引号。
  2. 解码 Header,确认 alg、typ、kid 与后端配置一致,尤其不要在没有明确理由时接受 alg 为 none 的 Token。
  3. 解码 Payload,检查 sub、aud、iss 和业务字段是否符合当前环境和用户身份。
  4. 把 exp、nbf、iat 与服务器时间对照。客户端时间错误很常见,不能只根据本地时间判断。
  5. 最后回到服务端日志,验证签名、撤销状态、权限和密钥版本。解码工具只能提供线索,不能替代这一步。

常见问题与安全边界

为什么解码成功不代表 Token 合法?

Base64URL 是公开的编码方式,任何人都可以修改 Payload 后重新编码。如果没有验证签名,伪造者可以随意修改用户 ID 或角色字段。生产系统的授权必须由服务端使用可信密钥验签,并同时检查过期时间、受众、签发者和撤销状态。

为什么页面提示“未过期”,接口仍可能返回 401?

exp 只是其中一个条件。接口还可能因为签名错误、密钥轮换、aud 不匹配、账号被禁用、Token 被撤销或服务器时间偏差而拒绝请求。排查时应同时查看响应中的 WWW-Authenticate 信息和认证服务日志。

可以把生产环境的 Token 粘贴到别的网站吗?

不建议。Token 往往等同于短期登录凭据,任何第三方网站、日志、截图或聊天工具都可能记录它。本站所有解析都在当前浏览器内完成,但更稳妥的做法仍然是在受控的本地环境中使用测试 Token。

接口返回 401 时的排查决策表

现象先检查仍失败时继续查
本地正常,部署后全部 401服务端公钥、密钥 ID 和环境变量网关是否重写 Authorization 头
刚登录就提示过期exp 单位和服务器时间签发服务是否使用了毫秒或错误时区
解码成功但验签失败alg、kid、密钥轮换是否对原始 JWT 字符串做了换行或解码
部分用户 401aud、iss、tenant 和角色字段用户是否被禁用、登出或撤销
偶发 401多实例时钟偏差和缓存密钥网关重试或 Token 过期边界

哪些声明可以“看一眼”,哪些必须服务端验证

解码工具适合确认结构、字段名、时间格式和错误环境,但不能证明 Token 可信。iss、aud、exp、nbf、算法和签名都应由服务端按可信配置验证;sub、角色和租户字段只有验签后才能作为授权依据。客户端可以读取部分字段改善交互,但隐藏按钮或路由不等于权限控制。

安全底线:解码结果只用于排查线索。任何写操作、数据读取和权限判断,都必须经过服务端验签、撤销检查和授权校验。

隐私说明

输入内容只存在于当前页面内存中,本站代码不会把 Token 发送到服务器,也不会写入 Cookie 或 localStorage。页面会加载 Google AdSense 脚本,但广告服务不会获得输入框中的内容。关闭或刷新页面后,解析结果会消失。

参考资料

📚 相关阅读

JWT 调试与安全边界:解码、验签和常见误区 →

Base64 编码完全指南:原理、应用与常见误区 →