JWT 解码器
本地解开 JWT 查看 header/payload 与过期时间,不验签不上传。
请粘贴 JWT —— 形如 xxxxx.yyyyy.zzzzz 的三段式字符串。
原因:JWT 由 header.payload.signature 三段组成,以点分隔。
建议:常见来源:百度千帆等平台的访问令牌、调试接口时抓到的 Authorization 头。
解码在浏览器本地完成,token 不上传、不存储。本工具只解码不验签(验签需要服务端密钥)。
粘贴 JWT 后,header / payload / 过期时间会显示在这里。
使用说明
这个工具解决什么问题
调试鉴权时拿到一长串 JWT,想知道里面装了什么、什么时候过期、是哪家签发的——粘贴进控制台手写 atob 既麻烦又容易在 Base64URL 上出错。这个工具把 header 与 payload 解开排版,exp、iat、nbf 等时间字段自动翻译成可读时间并标注是否过期,alg=none 等异常情况主动警告。
核心能力
完整解码:三段式 JWT 拆解,header 与 payload 结构化展示。时间人性化:exp/iat/nbf 转成本地可读时间,过期状态一目了然。安全提示:alg=none 警告,明示「不验签」的边界。零上传:本地解码,不存储不发送。
使用建议
接口返回 401 时先解码看 exp 是否过期;对接新平台先看 payload 里的字段约定(用户 ID、权限声明叫什么);配合站内「API Key 识别器」确认 Token 来自哪家平台。
常见问题
为什么只解码不验签?
验签需要签发方的密钥,而密钥只在服务端,浏览器里没有也不该有。本工具如实定位为「解码查看」:解开 Base64URL 看内容与时间字段。需要确认真伪请在服务端用密钥校验,任何声称能在浏览器验签的工具都不可信。
exp 字段显示的过期时间可信吗?
exp 是签发方写入的声明,本工具只是把它从时间戳翻译成可读时间并按你本机时钟判断是否过期。如果签发方时钟或你的设备时钟不准,判定会跟着偏;它反映的是「声明值」,不等于服务端的真实判定。
把 Token 粘贴进来安全吗?
解码全程在你的浏览器里完成,不发出任何网络请求,Token 不会上传或存储,关掉页面即消失。但请注意:JWT 本身就是明文可解的,不要因为「解码不出内容」就以为它是加密的——payload 只是 Base64URL 编码,人人可读。
alg 显示 none 是什么意思?
alg=none 表示该 Token 声明自己没有签名。这是合法但不安全的形态,历史上多次被攻击者利用绕过鉴权。工具检测到 none 会明确警告,生产环境的 Token 不应出现这个值。
相关工具
JWT 生成器
HS256/384/512 本地签发测试 JWT,与站内解码器成对验证。
API 密钥生成
Hex/UUID/Base64URL/易读四种风格密钥,前缀与熵估算。
Base64 编解码
UTF-8 安全的 Base64 编码与解码,中文与 emoji 不乱码。