🛠️ToolsShed

Décodeur JWT

Décodez et inspectez les charges utiles de JSON Web Token sans vérification de signature.

Cet outil décode uniquement le JWT — il ne vérifie PAS la signature. Ne partagez jamais de tokens sensibles.

Le décodeur JWT décode les JSON Web Tokens (JWT) pour vous permettre d'inspecter l'en-tête, le payload et la signature sans écrire de code. Un JWT est un jeton compact et sûr pour les URL composé de trois sections encodées en Base64 séparées par des points : l'en-tête d'algorithme, le payload de claims et une signature cryptographique.

Collez n'importe quel JWT dans le champ de saisie et l'outil le divise instantanément en ses trois composants et affiche le JSON de chaque section formaté. Vous pouvez voir la durée d'expiration du jeton, l'horodatage d'émission et les claims utilisateur.

Cet outil décode uniquement — il ne vérifie pas la signature. Validez toujours les JWT côté serveur en utilisant la clé secrète ou publique appropriée avant de faire confiance aux claims. Aucune donnée de jeton ne quitte votre navigateur.

Questions Fréquentes

Implémentation du Code

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.