JWT Decoder
无需签名验证,解码并查看 JWT 载荷。
此工具仅解码 JWT,不验证签名。请勿共享敏感令牌。
JWT 解码器解码 JSON Web Token (JWT),让您无需编写任何代码即可检查标头、负载和签名。JWT 是一种紧凑的、URL 安全的令牌,由三个 Base64 编码的部分组成,用点分隔:算法标头、声明负载和加密签名。
将任意 JWT 粘贴到输入框中,工具会立即将其分解为三个组成部分,并格式化打印每个部分中的 JSON。您可以查看令牌的过期时间、签发时间戳、用户声明和发行者嵌入的自定义字段。
此工具仅解码——不验证签名。在信任声明之前,请始终在服务器端使用适当的密钥或公钥验证 JWT。没有令牌数据会离开您的浏览器。
常见问题
代码实现
import jwt # pip install PyJWT
token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFsaWNlIiwiaWF0IjoxNzAwMDAwMDAwLCJleHAiOjE3MDAwMDM2MDB9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
secret = "your-256-bit-secret"
# Decode and verify signature + expiry
try:
payload = jwt.decode(token, secret, algorithms=["HS256"])
print(payload)
# {"sub": "1234567890", "name": "Alice", "iat": 1700000000, "exp": 1700003600}
except jwt.ExpiredSignatureError:
print("Token has expired")
except jwt.InvalidTokenError as e:
print(f"Invalid token: {e}")
# Decode without verification (inspect only — never trust unverified)
unverified = jwt.decode(token, options={"verify_signature": False})
print(unverified)
# Decode manually (no library) — Base64Url decode the payload
import base64, json
parts = token.split(".")
# Add padding back (Base64Url omits =)
payload_b64 = parts[1] + "=" * (-len(parts[1]) % 4)
payload = json.loads(base64.urlsafe_b64decode(payload_b64))
print(payload)
# Encode (create) a JWT
encoded = jwt.encode({"sub": "123", "name": "Alice"}, secret, algorithm="HS256")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.