所有解码都在浏览器内完成,Token 不会上传。
什么是 JWT 解码器?
JSON Web Token(JWT)是一种紧凑、URL 安全的字符串,由三段 Base64URL 编码内容用点号连接而成:header.payload.signature。它是现代 API(OAuth、OpenID Connect、Auth0、AWS Cognito、Firebase……)最常见的认证 Token 格式。前两段是 JSON 元数据,只需 Base64URL 解码即可阅读——这正是本工具所做的事。它会解码 Header(算法、类型)与 Payload(你的 Claim:是谁、做什么、签发时间、过期时间),并原样展示 Signature。标准时间字段 iat / exp / nbf 会自动转为带时区的可读时间,状态徽章一眼告诉你 Token 是「有效」「已过期」还是「尚未生效」。所有解码都在你的浏览器内完成——你的 Token 永远不会触及我们的服务器。
功能特性
- 解析标准 JWT 与 Base64URL 编码的 JOSE Token
- JSON 语法高亮,美化展示 Header 与 Payload
- 自动识别 iat / exp / nbf,显示可读时间与时区
- 状态徽章:有效 · 已过期 · 尚未生效(带相对时间)
- 识别签名算法与 Token 类型(HS256 / RS256 / ES256 / none ……)
- 一键填入示例 Token
- 100% 浏览器内运行,Token 不会上传
使用方式
- 把完整 JWT(header.payload.signature)粘贴到输入框。
- 右侧立即解码并展示 Header 与 Payload。
- exp / iat 等标准字段以可读日期高亮显示。
- 查看状态徽章——绿色为有效,红色为过期,琥珀色为尚未生效。
常见问题
这个工具会校验签名吗?
▾
不会——也不应该。校验签名需要密钥(HS256)或公钥(RS256 / ES256),应当在你自己的服务器上完成,绝不应放在公开网页里。本工具只解码 Token 内容,便于你查看。
我的 Token 会上传吗?
▾
不会。整个解码流程是纯前端 JavaScript:Base64URL → UTF-8 → JSON.parse。Token 不会离开当前页面。你可以打开 DevTools → Network 验证:粘贴 Token 时没有任何请求发出。
JWT 和 Base64 有什么区别?
▾
JWT 是三段以点号连接的 Base64URL 数据,前两段是结构固定的 JSON(Header 与 Claim)。普通 Base64 只是字节编码,没有任何结构和语义。
iat / exp / nbf 是什么?
▾
它们是 RFC 7519 定义的注册字段。iat(issued at)是签发时间;exp(expiration)是过期时刻,过后必须拒绝;nbf(not before)是最早可以接受的时刻。三者都是以秒为单位的 Unix 时间戳。
为什么我刚拿到的 Token 显示「已过期」?
▾
通常是你电脑的时钟比签发方快(时钟漂移)。多数服务器允许几秒误差,但如果你的时间差了几分钟或更多,请校准系统时间。这里展示的 exp 是 Unix epoch 秒数。
alg: none 安全吗?
▾
不安全。alg 为 none 的 JWT 没有签名,任何生产系统都必须拒绝。如果你在线上遇到这类 Token,请把它当作恶意 Token 处理。本工具仍会解析,只是为了让你查看内容,绝不要信任其声明。
相关工具
Canonical: https://devformatlab.com/zh/jwt-decoder