🌐 FR

🔓 Décodeur JWT

Collez un JWT (JSON Web Token) pour décoder instantanément son en-tête et sa charge utile en JSON formaté. Les claims exp/iat/nbf sont affichés sous forme d’horodatages lisibles, avec un badge indiquant si le jeton est expiré.

⚠️ Cet outil ne fait que décoder : il ne vérifie pas la signature. Il n’y a volontairement aucun champ de saisie de clé secrète pour des raisons de sécurité. Si vous avez besoin de la vérification de la signature, utilisez une bibliothèque JWT côté serveur.

GUIDE

En savoir plus

01

1. Comprendre la structure JWT

Un JWT comporte trois parties séparées par des points : header.payload.signature. L’en-tête contient l’algorithme de signature (alg) et le type de jeton (typ) ; la charge utile contient les claims réels (ID utilisateur, permissions, heure d’émission, etc.), tous encodés en base64url. La signature correspond à l’en-tête + la charge utile signés avec un secret (ou une clé privée), utilisée pour vérifier que le jeton n’a pas été modifié — mais cet outil ne réalise pas cette vérification.

02

2. Les claims exp, iat et nbf

exp (expiration) est la date d’expiration du jeton, iat (émis à) est la date de création, et nbf (non valide avant) signifie que le jeton n’est pas valide avant cette heure. Les trois sont stockés en timestamps Unix (en secondes), pas directement lisibles en clair. Cet outil les affiche à la fois en heure locale et en ISO 8601, et affiche un badge "Expiré" si exp est dans le passé.

03

3. Quand vous avez besoin de la vérification de signature

Vérifier la signature d’un JWT nécessite le secret utilisé pour le signer (famille HMAC, par ex. HS256) ou la clé publique correspondante (famille RSA/ECDSA, par ex. RS256/ES256). C’est une opération sensible qui doit être effectuée côté serveur, donc cet outil navigateur se contente de décoder (vous permet d’inspecter le contenu) et ne demande jamais de secret. Pour une vraie vérification, utilisez une bibliothèque JWT backend (jsonwebtoken, PyJWT, firebase-admin, etc.).

Questions fréquentes

Cet outil peut-il être utilisé pour forger un JWT ?
Non. Il ne fait que décoder (base64url-decode) — il ne génère ni ne vérifie jamais de signature. Une signature valide nécessite la clé secrète/clé privée connue uniquement de l’émetteur, et cet outil n’en accepte jamais.
Pourquoi n’y a-t-il pas de champ de saisie de clé secrète ?
Pour la sécurité. Coller des secrets dans des outils navigateur est une habitude qui risque une exposition accidentelle, donc cet outil a été conçu pour ne jamais en accepter.
Comment savoir si un jeton est expiré ?
Si la charge utile contient un claim exp, il est automatiquement comparé à l’heure actuelle et affiché avec un badge « Expiré » ou « Valide (pas encore expiré) ».
Le jeton que je colle est-il envoyé à un serveur ?
Non. Le décodage s’effectue entièrement dans le JavaScript de votre navigateur et n’est jamais envoyé à un serveur.