JWT Decoder
署名検証なしでJWTペイロードをデコード・確認。
このツールはJWTをデコードするだけで、署名の検証は行いません。機密トークンを共有しないでください。
JWTデコーダーは、JSON Web Token(JWT)をデコードして、コードを書かずにヘッダー、ペイロード、署名を検査できるようにします。JWTはドットで区切られた3つのBase64エンコードセクション(アルゴリズムヘッダー、クレームペイロード、暗号化署名)から成るコンパクトなURL安全トークンです。
JWTを入力フィールドに貼り付けると、3つのコンポーネントに即座に分解され、各セクションの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.