toolgarden.xyz
EN

JWT 解析

解析 JWT,展示 Header 与 Payload 内容并支持校验 HS256 签名,浏览器本地完成,不上传 token。

JWT Token

HS256 签名验证

粘贴 JWT Token 后点击解码

工具说明

JSON Web Token 通常由以点号分隔的 header、payload 和 signature 三部分组成。前两部分使用 Base64URL 编码,可以直接解码查看算法声明、签发方、受众、过期时间和业务声明;编码并不等于加密,payload 不应存放秘密。

本工具用于在浏览器中检查 JWT 的结构与声明,方便排查登录、接口鉴权和令牌过期问题。仅能读出内容不代表签名可信,真正的身份验证必须由服务端使用可信密钥、固定算法和严格的声明校验完成。

使用步骤

  1. 粘贴完整令牌

    输入三段式 JWT,避免附带 `Bearer` 前缀、引号或多余空格。

  2. 查看头部与载荷

    确认算法、密钥标识及 `iss`、`aud`、`exp`、`nbf` 等标准声明。

  3. 在服务端验证

    需要信任令牌时,使用后端 JWT 库和可信配置完成签名及声明验证。

输入与输出示例

payload 只是 Base64URL 编码,不是加密:任何拿到 token 的人都能读出下面这些内容。

JWT
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIiwicm9sZSI6ImFkbWluIiwiZXhwIjoxNzY3MjI1NjAwfQ.<signature>
解码结果
// header
{ "alg": "HS256" }

// payload
{ "sub": "1", "role": "admin", "exp": 1767225600 }
exp → 2026-01-01 00:00:00 UTC

支持范围与限制

解析内容
Header、Payload 与签名三段,Payload 中的时间字段会转成可读日期
签名验证
支持 HS256 对称算法。RS256 等非对称算法需要公钥,不在本工具处理范围
Payload 不是加密的
它只是 Base64URL 编码,任何拿到 token 的人都能直接读出内容:不要在里面放密码或密钥
关键声明
exp 过期时间、iat 签发时间、nbf 生效时间、iss 签发方、aud 接收方
解析成功 ≠ token 有效
能解出内容只说明格式正确。是否过期、签名是否可信、是否被吊销要另行判断
安全提醒
生产环境的 token 等同于凭据。调试时请优先使用测试环境签发的 token

典型使用场景

  • 排查过期登录

    把 `exp` 和 `nbf` 转换为可读时间,检查客户端与服务端时钟差异。

  • 核对鉴权配置

    比较签发方、受众、算法和 key ID,定位环境或密钥轮换配置错误。

  • 确认 token 里携带的权限声明

    排查用户「有权限但被拒绝」时,先解开 token 看实际下发的角色和作用域,判断问题在签发端还是校验端。

使用前需要知道的事

  • 解码是读取编码内容,不是验证签名,也不能证明令牌由可信系统签发。
  • JWT 可能包含用户标识和权限等敏感信息,不要粘贴仍有效的生产令牌到不可信页面。
  • 服务端应限制允许的算法,并验证过期时间、签发方、受众和使用场景需要的其它声明。

相关概念

Base64URL
适合 URL 的 Base64 变体,使用 `-` 和 `_` 并通常省略末尾填充。
registered claims
JWT 标准定义的一组常用声明,包括 `iss`、`sub`、`aud`、`exp` 和 `nbf`。

常见问题

解析 JWT 会上传我的 Token 吗?
不会。JWT 的 Header 和 Payload 在浏览器本地解码,Token 不会上传到服务器,避免泄露凭证。
可以验证 JWT 签名吗?
可以。支持输入密钥对 HS256 签名进行本地校验,确认 Token 是否被篡改。
能看到 Token 的过期时间吗?
能。解码后可查看 Payload 中的 exp、iat 等标准声明,判断 Token 是否已过期。
解析出内容就说明 token 有效吗?
不说明。解析只验证格式,你还需要另外确认三件事:exp 是否已过期、签名是否可信、以及该 token 是否已被服务端吊销。三者任一不满足,token 就不该被接受。
为什么不能在 payload 里放敏感信息?
payload 只是 Base64URL 编码,不是加密。任何拿到 token 的人都能直接读出全部内容,不需要密钥。密码、身份证号、内部 ID 都不应该放进去。