🔑 粘贴你的 token

支持带不带 Bearer 前缀,自动去掉首尾空格与换行。全程在本页解码,不会发到任何服务器。

过期判断用你电脑的时间,如果本机时钟不准,结果也会跟着偏。

JWT 规范要求 exp / iat 必须是秒级;如果解析出的年份离谱(1970 或几万年后),基本就是签发方用了毫秒,切到毫秒再看。

🔑

把 token 粘进来,立刻看清里面写了什么、什么时候过期。

📊 常见 claim 速查表

你的 token 里出现的字段会高亮;标准字段按 RFC 7519 定义,中间那列是常用名。

🧾 alg 算法与安全提醒

header 里的 alg 只是「声明」,不代表本工具验证过它。下面这张表告诉你每个算法大概什么意思。

alg含义要留意什么
HS256 / HS384 / HS512对称签名(HMAC + SHA),签发校验用同一个密钥密钥泄露 = 全都可伪造;分布式场景密钥分发要小心
RS256 / RS384 / RS512非对称签名(RSA + SHA),私钥签、公钥验服务端务必用公钥验签,别信 header 里的算法
ES256 / ES384 / ES512非对称签名(ECDSA),签名短、性能好同样是私钥签公钥验,注意曲线是否受支持
PS256 / PS384 / PS512RSA-PSS 概率签名,比 RS 更规范部分老旧库不支持,联调时容易踩坑
none不签名,等于完全没保护历史著名漏洞:把 alg 改成 none 骗过服务端
(空 / 缺失)没写 alg需要服务端自己有默认策略,否则易被绕过

⚠️ 重要:本工具不校验签名。
签名验证必须使用服务端密钥(对称算法的密钥 / 非对称算法的公钥),本工具拿不到也不会去拿,因此它只能告诉你 token 里写了什么,无法证明这个 token 是真的、没被改过。请勿在生产环境依赖本工具的结论做鉴权判断。
另外,JWT 的前两段只是 Base64URL 编码而非加密,任何人都能解开看到内容,所以绝不要把密码、身份证号、手机号等敏感明文放进 payload。
粘贴 token 时请留意:token 等同临时身份凭证,分享结果前记得抹掉签名段,也不要把生产 token 粘到任何你不信任的在线服务里。本工具纯前端解码,内容不上传、不保存。

🔑

JWT 解析

开发工具 完全免费 🌙 支持黑夜模式 🔒 纯前端本地解码 ⏳ 过期倒计时 📋 结果可复制

JWT 看着像一串乱码,其实结构特别规整:
头部(header) . 载荷(payload) . 签名(signature),三个部分用英文句点隔开。
先记住一句话:JWT 不是加密,只是编码。前两段就是 Base64URL 编码后的 JSON,谁都能解开看;真正提供防篡改能力的是第三段签名。
所以这个工具能做的事很明确:
· 把三段拆开,header 解出签名算法 alg、类型 typ、密钥 id kid;
· payload 解出签发者 iss、主体 sub、受众 aud、生效时间 nbf、签发时间 iat、过期时间 exp、唯一编号 jti,以及业务自己塞进去的各种字段;
· 用你本机时间实时算还剩多久过期,过期了会告诉你是哪天到期的。
实际开发里最常遇到的坑,十有八九就是这几个:
① 接口突然全部 401 —— 先看 exp,大概率是 token 过期了,或者签发服务的时钟和网关不一致;
② 本地能用测试环境报错 —— 多半是本机时钟和服务器差了几分钟,JWT 对时间很敏感,建议都开 NTP 自动校时;
③ exp 单位搞错 —— 标准必须是秒级时间戳,有些框架直给了毫秒,结果解析出来是 1970 年或者几万年以后;
④ nbf 还没到 —— token 处于「未来生效」状态,服务端会拒绝;
⑤ alg = none —— 这是历史上著名漏洞,等于没有签名,任何服务端都不应该接受。
关于安全,再强调三遍:
· 别在 payload 里放敏感信息(密码、身份证、手机号、详细住址);
· 本工具不校验签名,校验必须拿密钥在服务端做;
· token 等同于临时身份凭证,粘贴到任何在线服务前都要想想风险。
所有的解码都在你这台电脑的浏览器里完成,token 不会离开你的设备,关掉页面就什么都不剩了。

类别开发工具
解析方式Base64URL 解码 + JSON.parse
时间单位Unix 时间戳(秒 / 毫秒可选)
运行方式纯前端 · 离线可用

核心特性

三段拆分
header 解码
payload 解码
过期倒计时
claim 释义
alg 算法表
毫秒单位兼容
结果可复制

关于这个工具

怎么解析:
① 按 . 切成三段,要求至少两段(header.payload),第三段签名可以缺失;
② 每段做 Base64URL → Base64 转换(- 换 +、_ 换 /,再补足末尾的 =);
③ atob 解出字节串,再按 UTF-8 还原中文,最后 JSON.parse 得到对象;
④ 逐个 claim 展示,标准 claim 自动附加中文释义,表格里同步高亮;
⑤ 过期判断:exp 与本机当前秒数相减,正数就是还剩多久,负数就是已过期多久。
它不做:不校验签名真伪、不做加解密、不校验 aud / iss 是否匹配、不上报任何内容。
想验签请用服务端库(jjwt、jsonwebtoken、PyJWT 等),或命令行 openssl / jwt-cli。

怎么用

  1. 第 1 步
    复制浏览器控制台、抓包工具或接口返回里的 token。
  2. 第 2 步
    粘进左侧输入框(带不带 Bearer 前缀都行),点「🔍 解析」。
  3. 第 3 步
    看顶部还剩多久过期,再看 iat / exp / alg 三个关键字段。
  4. 第 4 步
    往下翻明细与格式化 JSON,确认权限、角色、租户等业务字段对不对。
  5. 第 5 步
    如果时间显示离谱(1970 或几万年后),把时间戳单位切到毫秒再试。

更新记录

  • v1.0 2026-09-20 工具正式上线:本地拆分 JWT 三段并 Base64URL 解码 header 与 payload(自动处理 UTF-8 中文),逐项展示全部 claim 与中文释义,按本机时间实时计算剩余 / 已过期时长,支持秒 / 毫秒时间戳切换与 Bearer 前缀容错,附常见 claim 速查表(命中字段高亮)与alg 算法安全提醒表。适配黑夜模式,纯前端本地解码,token 不上传。

常见问题

这个工具能验证 token 是不是真的吗?
不能,这一点非常重要。
解析和验签是两件事:
· 解析只是把 Base64URL 还原成 JSON,任何人都能做;
· 验签需要密钥(对称算法的密钥或非对称算法的公钥),只有持有密钥的服务端才能做。
本工具拿不到你的密钥(也不希望你贴进来),所以它只能告诉你「这个 token 自称是谁、什么时候过期」,无法证明它没被篡改。
要验签请用服务端的 JWT 库,或者本地命令行工具。请勿用本工具的结果做生产鉴权。
JWT 里的内容会被别人看到吗?
能看到。payload 只是编码不是加密,只要拿到 token 就能解开。
所以规矩很简单:
· 不要放密码、身份证号、银行卡、详细住址等敏感数据;
· 一般只放用户 ID、角色、权限范围、租户 ID这类非敏感标识;
· 确实要传敏感信息,请用 JWE(加密型 JWT)或者干脆走服务端 session。
另外 token 在传输过程必须走 HTTPS,日志里也别打完整 token,打印前截断。
为什么工具显示的过期时间跟实际差了几十倍?
几乎都是时间戳单位不一致。
JWT 规范(RFC 7519)明确要求 exp / iat / nbf 用秒级 Unix 时间戳,但有些框架或自研服务会直接塞进毫秒。
毫秒值在按秒解析时会被当成几万年以后,或者反过来早到 1970 年。
遇到这种情况,把上面的时间戳单位切到「毫秒」再解析一次就对上了。
顺带提醒:签发端和校验端务必统一单位,这是联调阶段最常见的 401 来源。
token 明明没过期为什么还是 401?
按这个顺序排查,基本都能找到:
① 时钟不同步:签发服务和校验服务差了几分钟,JWT 对时间极度敏感,请先确认两边都开了 NTP;
② nbf 未到:token 还处于「未来生效」状态;
③ aud / iss 不匹配:服务端校验了受众或签发方,本工具不做这项校验,请核对自己服务端的配置;
④ 签名算法不一致:服务端只接受 RS256,而你签的是 HS256;
⑤ 密钥被轮换:新签发的 token 能用,旧密钥签的直接失效;
⑥ 被加入黑名单:登出后服务端拉黑了 jti,此时 token 本身是有效的。
token 过期了应该怎么处理?
标准做法是双 token 方案:
· access token 短命(15 分钟 ~ 2 小时),用来调接口;
· refresh token 长命(7 ~ 30 天),只用来换新的 access token,且存在服务端并可撤销。
不要为了省事把 access token 设成一个月不过期——过期时间越长,token 泄露的危害窗口就越大,而且权限变更后旧 token 还继续生效。
另外,前端不要把 token 存 localStorage(容易被 XSS 偷走),优先考虑 HttpOnly + Secure + SameSite 的 Cookie。
本工具可以帮你随时确认:这个 token 到底还能活多久。
我粘贴的 token 会被上传吗?
不会。整个解析过程(Base64URL 解码、JSON 解析、时间换算)都在你浏览器的 JavaScript 里完成,页面不发任何网络请求,也不写入 localStorage,刷新即清空。
不过还是提醒一句:token 等同于临时身份凭证,把它发到任何人的聊天窗口或第三方在线服务之前,请先在心中过一遍安全。

💬 留言板 0

全部留言需审核通过后展示
💬

还没有留言,来抢沙发吧!

✍️ 说点什么
0 / 500
图形验证码