See inside any JWT — header, payload and expiry
Debugging auth means squinting at opaque tokens. Paste a JWT to see its decoded header, payload and expiry instantly — then copy locally. Free to use, with no account needed.
Decode and verify entirely in your browser — nothing is uploaded.
What you can do with JWT 解码器
Everything this tool helps you accomplish — no learning curve, no setup.
- Decode JWT header and payload instantly
- Inspect token claims in readable JSON
- Check whether a token has expired
- Verify the signature with your secret or key
- Debug auth issues during development
- Try a sample token to see the format
Settings information
3 settings
Every control in JWT 解码器, explained — what it does and when to use it.
设置
- 试用示例 JWTOne-click
- 加载一个包含 sub、iat、exp 等标准声明的示例令牌,让你在粘贴自己的 JWT 之前,先看看解码和过期校验的实际效果。
Verify signature
- Verify signatureText input
- 粘贴用于校验令牌签名的 HMAC 共享密钥(HS256),或签发方 PEM 或 JWK 格式的 RSA/EC 公钥。
- VerifyOne-click
- 使用你输入的密钥或公钥执行签名校验,并以徽标显示签名有效、无效,还是使用了不受支持的算法。
用完 JWT 解码器 了?接下来试试这些
为您精选与 JWT 解码器 搭配得当的工具。无需丢失文件,继续操作。
Base64 编码器 / 解码器
Cryptic Base64 in logs and payloads slows you down. Decode to readable text or encode any text or file — URL-safe, UTF-8 safe, and instant in your browser.
立即试用哈希生成器
Verifying downloads shouldn't need a command line. Drop a file or paste text for instant SHA-1, SHA-256, SHA-384 and SHA-512 digests. Use and copy results free — no account needed.
立即试用JSON 美化
One-line API responses are impossible to scan. Paste or drop JSON to validate it, pretty-print at 2, 4, or 8 spaces, or minify it for production — instantly in your browser.
立即试用URL 编码器 / 解码器
Percent-encoded URLs are unreadable, and hand-editing breaks them. Paste any string or full URL to encode or decode it correctly in component or full-URL mode, right in your browser.
立即试用密码生成器
Weak, reused passwords get accounts hijacked. Create cryptographically random passwords up to 128 characters with live strength feedback, then copy securely. Free to use, with no account needed.
立即试用文本差异比较
Eyeballing two versions misses changes. Paste both texts and see every addition and deletion highlighted in split or unified view — then copy the result. Free to use, with no account needed.
立即试用常见问题
将编码后的 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),你必须使用正确的密钥或私钥重新签发一个新令牌。请用这个解码工具来读取和调试令牌,而不是修改它们。
featuresJWT 解码器 如何助您完成任务
它每天都在解决真实的问题——服务企业、创作者和日常任务。找到适合您的用例,几秒即可开始。
调试 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)确实存在。
