
JWT Decoder — 在线解码 JSON Web 令牌
解码 JWT 标头和负载,检查其过期情况并在本地复制解码的数据;无需帐户。
Decode and verify entirely in your browser — nothing is uploaded.
使用 JWT 解码器 可以做什么
在开始之前查看主要功能。
- 即时解码 JWT 的头部和载荷
- 以易读的 JSON 格式查看令牌声明
- 检查令牌是否已过期
- 使用你的密钥或密码验证签名
- 在开发过程中调试身份验证问题
- 试用示例令牌以查看格式
设置参考
3 个设置
JWT 解码器 的可用控件。
设置
- 试用示例 JWT一键
- 加载一个包含 sub、iat、exp 等标准声明的示例令牌,让你在粘贴自己的 JWT 之前,先看看解码和过期校验的实际效果。
验证签名
- 验证签名文字输入
- 粘贴用于校验令牌签名的 HMAC 共享密钥(HS256),或签发方 PEM 或 JWK 格式的 RSA/EC 公钥。
- 验证一键
- 使用你输入的密钥或公钥执行签名校验,并以徽标显示签名有效、无效,还是使用了不受支持的算法。
常见问题
将编码后的 JWT(以 eyJ… 开头的长字符串)粘贴到输入框中。工具会按两个点将其分割,对头部和载荷进行 Base64URL 解码,并分别显示各自的 JSON 以及原始签名段——整个过程不发起任何网络请求。
usage不会。解码器只解析令牌——它不会用密钥或公钥校验签名,因为验证需要签发方的密钥材料。生产环境的验证请使用服务端的 JWT 库;本工具仅用于查看和调试。
technical你会获得头部(算法和密钥 id)、载荷声明(sub、iss、aud、iat、exp 以及任何自定义声明)和原始签名。标准的时间戳声明会被格式化为易读的日期,让你一眼就能发现过期的令牌。
features如果载荷中包含标准的 "exp" 声明,工具会将其与当前时间进行比较,并显示「有效期至」或「令牌已于……过期」以及精确的时间戳。不含 exp 声明的令牌会被标注为永不过期。
features任何人只要能读取 JWT 的载荷,便可在其过期前使用它,因此生产环境的令牌应只在私密工具中处理。本解码器完全在你的浏览器中运行,绝不会传输令牌,但更稳妥的做法是尽量只解码生命周期较短的开发令牌。
privacyJWT 由三段以点分隔的 Base64URL 编码片段组成:头部(签名算法)、载荷(签发方希望验证方信任的声明)和签名(对 header.payload 计算的 MAC 或数字签名)。解码从不需要密钥——只有验证才需要。
technical一种紧凑、URL 安全的令牌,由三段 Base64URL 组成——头部、负载和签名——携带经过签名的声明,例如用户 ID 和过期时间。它被广泛用于无状态登录会话和保护 API 请求。在上方粘贴一个令牌即可查看其头部和负载。
technical在解码后的头部和载荷下方,将签名密钥(用于 HS256)或以 PEM 或 JWK 格式提供的签发者公钥(用于 RS256、ES256 等)粘贴到"验证签名"框中,然后点击"验证"。随后出现的徽章会告知签名是有效、无效,还是使用了浏览器端验证器不支持的算法——全部在本地计算,不会将令牌或密钥发送到任何地方。
features对于 HS256 等 HMAC 算法,你需要粘贴原始的共享密钥字符串。对于 RS256、RS384 或 ES256 等非对称算法,你需要签发方的公钥——绝不是私钥——以 PEM 块或 JWK 形式提供;粘贴非对称密钥对中错误的一半会导致验证失败,即使令牌本身有效。
technical“验证签名”面板支持所有主流 JOSE 算法:HS256/384/512(使用共享密钥的 HMAC)、RS256/384/512(使用 RSA 公钥的 RSASSA-PKCS1-v1_5)、PS256/384/512(使用 RSA 公钥的 RSA-PSS)以及 ES256/384/512(在对应的 P-256/P-384/P-521 曲线上的 ECDSA)。以 "none" 或此列表之外的任何算法签名的令牌始终会被报告为不受支持,而不会被标记为有效,这也能保护你免受经典的 alg=none 伪造伎俩的侵害。
technical最常见的原因是把多余的空白或末尾换行粘贴进了密钥框——验证器会对你输入的确切字节进行哈希,因此复制粘贴带来的杂质会破坏匹配。另外,再次确认你验证的是当前令牌:如果 JWT 在你复制后被重新签发,或者提供方的密钥是 base64 编码而非原始字符串,请先解码再粘贴进去。
tips点击「试用示例 JWT」加载一个带有 sub、name、iat 和 exp 声明的演示 HS256 令牌,让你在粘贴自己的令牌之前,先看到解码和过期检查的效果。令牌进入框内后,旁边会出现一个「清除」按钮,一键即可将输入清空。
usageHeader、Payload 和 Signature 三个面板各自在右上角有独立的复制按钮,仅将该部分的 JSON(或原始签名字符串)复制到剪贴板。面板下方还有一个主“复制 Payload”按钮,用于最常见的情形:只抓取声明内容以粘贴到调试器或缺陷报告中。
features复制 Authorization 请求头中“Bearer ”之后的值——也就是 eyJ… 开头的部分,那才是 JWT 本身——然后粘贴到解码器中,即可立即查看头部、载荷声明和过期状态。如果你复制了整个“Bearer eyJ…”字符串,请先去掉“Bearer ”前缀,确保令牌只包含由点分隔的三部分。
usage不能——这是一个解码和查看工具,并非 JWT 编辑器。修改载荷(payload)会使签名失效,任何验证该令牌的服务器都会拒绝被篡改的版本。要修改声明(claims),你必须使用正确的密钥或私钥重新签发一个新令牌。请用这个解码工具来读取和调试令牌,而不是修改它们。
features否 — JWT Decoder 完全在您的浏览器中运行,因此您粘贴的内容永远不会离开您所在的计算机。如果您要检查包含令牌、密钥或客户数据的内容,这一点很重要。关闭选项卡足以清除它。
troubleshooting错误指向第一个无法解析的位置,通常就在真正的错误之后而不是在其上 - 缺少逗号、未闭合的引用或括号,或者从文档粘贴的智能引用而不是直接引用。首先检查报告位置上方的线。
troubleshooting两者都不是。 JWT Decoder 是免费的,您的下载没有水印,最后也不会提出任何要求 — 在流程中,您完成工作后发现它要花钱,没有任何意义。
pricing否 — JWT Decoder 在桌面和手机上的浏览器中运行。在您看到它是否满足您的需要之前,无需安装任何东西,无需试用,也无需购买许可证。在您实际遇到的文件而不是样本上尝试一下。
troubleshootingJWT 解码器 如何助您完成任务
它每天为企业、创作者和日常任务解决实际问题。找到适合您的用例并开始。
调试 OAuth 与 OpenID Connect 流程
在本地 OAuth 集成工作中,解码 Auth0、Okta、Cognito 和 Azure AD 返回的访问令牌和 ID 令牌,以验证作用域、受众和签发者
检查 API 调用中的 Authorization 请求头
在向后端团队提交工单之前,粘贴失败 API 请求中的 bearer 令牌,确认问题是否出在错误的租户、角色或过期时间上
在开发过程中检查 Token 是否过期
通过读取 exp 声明,发现那些悄悄破坏你测试环境的过期令牌——无需把令牌复制到终端或临时写一段脚本
审计令牌声明中编码的权限
验证角色、租户和功能开关等自定义声明,让管理员能够确认某位客户的令牌所授予的权限与授权团队的预期完全一致
验证单点登录集成
检查企业 SSO 集成生成的 SAML 和 OIDC 令牌,在向全体员工推广前确认用户组归属和属性映射
讲解基于令牌的身份验证
借助解码后的头部、载荷和签名面板,向训练营学员、初级工程师和安全研讨会参与者讲解 JWT 的结构
确认合作伙伴的 Webhook 签名配置
把合作伙伴的 RS256 或 ES256 公钥粘贴到「验证签名」中,在把集成切换到生产环境之前,确认他们的 webhook 载荷确实签名正确。
调查泄露或可疑的令牌
无需签名密钥即可解码日志或 bug 报告中的 token,检查其受众、作用域和过期时间,让你在事故发生时快速评估风险暴露面。
调试移动应用登录失败问题
当网页端登录正常但 iOS 或 Android 端失败时,粘贴移动应用登录后收到的访问令牌,确认其过期时间、签发者和自定义声明与后端预期的一致。
校验来自 Firebase、Supabase 和 Clerk 的令牌
解码并检查 Firebase、Supabase、Clerk 等现代身份验证提供方签发的 token,在接入授权逻辑前确认应用读取的声明(uid、role、tenant)确实存在。
观看每一个转变土地
每张照片都原封不动地穿过斜线,并在另一边完成。


























