JWT 解码器

在浏览器中解码任意 JSON Web Token:查看 header 和 payload,把 exp、iat、nbf 显示为你所在时区的真实时间,并判断令牌是否已过期。

在你的浏览器中解码,令牌绝不会发送到我们的服务器。

概要

头部(Header)


                    

载荷(Payload,声明)


                    

令牌与签名

不发送到任何地方,也能读懂 JWT

粘贴 JSON Web Token,解码器会把它拆成三部分:头部(用哪种算法签名)、载荷(声明:用户是谁、能访问什么、令牌何时过期)和签名。JSON 会自动格式化,一眼就能看懂。

时间声明会变成真实日期。exp、iat 和 nbf 会按你的时区、UTC 以及“20 分钟后”“3 天前”的形式显示,状态栏会立即告诉你令牌是否仍有效、已过期或尚未生效。

令牌往往能访问真实账户,所以解码完全在你的浏览器中进行。令牌不会上传到我们的服务器,也不会被记录或保存,比粘贴到聊天机器人或会发送到服务器的网站更安全。

如何解码 JWT

  1. 从你的应用、Authorization 请求头、Cookie 或浏览器开发者工具中复制令牌。
  2. 粘贴到输入框。Bearer 前缀、引号、空格和换行会被自动去掉。
  3. 查看概要:状态、算法、签发者、主体、受众,以及准确的签发和过期时间。
  4. 用复制按钮把格式化后的头部或载荷 JSON 放进错误报告或笔记。

常见声明的含义

  • exp(expiration time):过了这个时间,令牌必须被拒绝。
  • iat(issued at):令牌的创建时间。
  • nbf(not before):在这个时间之前不得接受令牌。
  • iss(issuer):令牌的签发者,通常是登录服务器的 URL。
  • sub(subject):令牌所指的对象,通常是用户 ID。
  • aud(audience):令牌面向的应用或 API。
  • alg 和 kid(在头部):签名算法(如 HS256 或 RS256)以及签名所用密钥的 ID。

JWT 中的日期是 NumericDate 值:自 1970 年 1 月 1 日 UTC 起的秒数。解码器会帮你转换,无需另外使用时间戳转换工具。

调试技巧

  • 如果 API 在登录后立刻返回 401,先检查 exp 和 nbf。服务器时钟快或慢几分钟是常见原因,多数库都允许设置少量容差。
  • 如果日期在几万年之后,说明这个值是用毫秒而不是秒写的。出现这种情况时解码器会提醒你。
  • 把 aud 和 iss 与 API 期望的值对比。为其他应用或环境(测试环境而非生产环境)签发的令牌,是“无效令牌”错误的常见原因。
  • 头部中 alg 为 none 表示令牌没有签名。生产环境中绝不要接受这样的令牌。

限制与须知

  • 解码不等于验证。任何人都能创建带任意声明的令牌;只有在你的服务器上用正确的密钥校验签名,才能证明令牌是真的。本工具不验证签名。
  • 普通 JWT 的载荷只是编码,并没有加密。任何拿到令牌的人都能读取,所以绝不要在声明中放入密码或机密信息。
  • 加密令牌(JWE,5 部分)没有密钥无法读取,因此只显示其头部。
  • 数字按令牌中的原样显示,长数字 ID 不会被四舍五入。

常见问题

在这里粘贴真实令牌安全吗?

安全。解码在你浏览器中用 JavaScript 完成,令牌绝不会发送到我们的服务器。不过仍请像对待密码一样对待有效令牌:不要在截图或聊天中分享,并让它们自然过期。

这个工具能判断令牌是否有效吗?

它会根据日期告诉你令牌是否已过期或尚未生效。它无法判断签名是否真实,因为那需要只应保存在你服务器上的密钥或公钥。

为什么刚拿到的令牌显示已过期?

检查签发令牌的服务器时钟,并确认 exp 是以秒而不是毫秒为单位。如果 iat 也是几小时之前,服务器时钟很可能不准。

JWT 解码器和 Base64 解码有什么区别?

JWT 是用点号连接的三段 Base64URL 编码内容。Base64 解码一次只能读一段,而 JWT 解码器会自动拆分令牌,处理 URL 安全字符和缺失的填充,并把日期转换成易读的时间。

可以离线使用吗?

可以。页面加载完成后,断开网络也能继续解码令牌。

相关工具

  • Base64 解码: 把 Base64 字符串立即解码为可读文本,方便查看认证头、令牌、API 数据和邮件内容。免费、无需注册的 Base64 在线解码工具。
  • JSON 格式化校验工具: 在线检查 JSON 语法错误,并把压缩成一行的 JSON 格式化为易读的缩进格式。免费的 JSON 格式化、校验、美化工具,无需注册。
  • URL 解码: 把 %E4%BD%A0 这类百分号编码的网址和查询参数一键解码为可读的中文和文本,%20、%26 也能还原。免费、无需注册的 URL decode 工具。
  • Base64 编码: 把字符串和文本立即编码为 Base64,适用于 Data URI、HTTP Basic 认证头、邮件和 API 开发。免费、无需注册的 Base64 在线编码工具。

类似工具

Base64 解码

把 Base64 字符串立即解码为可读文本,方便查看认证头、令牌、API 数据和邮件内容。免费、无需注册的 Base64 在线解码工具。

JSON 格式化校验工具

在线检查 JSON 语法错误,并把压缩成一行的 JSON 格式化为易读的缩进格式。免费的 JSON 格式化、校验、美化工具,无需注册。

URL 解码

把 %E4%BD%A0 这类百分号编码的网址和查询参数一键解码为可读的中文和文本,%20、%26 也能还原。免费、无需注册的 URL decode 工具。

热门免费工具