Décodeur JWT
Décodez un JSON Web Token pour voir l’en-tête et le payload, vérifier l’expiration et contrôler les signatures HS256/384/512.
Chargement…
Mode d’emploi
- Collez le jeton dans la zone. Un « Bearer » initial est ignoré : vous pouvez coller tel quel la valeur d’un en-tête Authorization.
- Consultez l’En-tête et le Payload décodés. Le bouton Copier à côté de chaque titre copie le JSON mis en forme.
- Si le payload contient un claim exp, la ligne du haut indique Expiré ou Non expiré ainsi que le temps restant ou écoulé, mis à jour chaque seconde.
- Le tableau affiche iat (émis le), nbf (valide à partir du) et exp (expire le) sous forme de dates dans votre fuseau horaire, chacune avec un temps relatif.
- Sous Signature, pour un jeton HS256, HS384 ou HS512, saisissez le secret dans le champ Clé secrète (HMAC) pour savoir si la signature est valide.
Questions fréquentes
- Si un jeton se décode, est-il valide ?
- Non. L’en-tête et le payload sont seulement encodés en Base64URL : n’importe qui peut les lire ou en fabriquer d’autres. Un jeton n’est fiable que si sa signature est vérifiée avec la bonne clé et si ses alg, exp, nbf, iss et aud correspondent à ce qu’attend votre application ; cet outil peut vérifier la signature pour HS256/384/512 quand vous saisissez le secret.
- Quels algorithmes de signature peuvent être vérifiés ?
- Uniquement HMAC : HS256, HS384 et HS512. Les algorithmes à clé publique comme RS256, ES256 et PS256 nécessitent la clé publique de l’émetteur, que cet outil n’accepte pas ; ces jetons sont donc seulement décodés. Le secret est utilisé tel quel comme texte (UTF-8) ; un secret encodé en Base64 n’est pas décodé au préalable.
- Comment iat, nbf et exp sont-ils interprétés ?
- Ils sont lus comme des secondes depuis le 1970-01-01 UTC et affichés dans votre fuseau horaire ; les valeurs non numériques n’apparaissent pas dans le tableau. L’état Expiré / Non expiré ne dépend que de exp : vérifiez nbf pour savoir si le jeton est déjà utilisable.
- Pourquoi est-il indiqué que ce n’est pas un JWT valide ?
- L’entrée doit comporter trois parties séparées par des points, et les deux premières doivent être des objets JSON encodés en Base64URL. Les jetons chiffrés (JWE, en cinq parties) et les jetons tronqués ou mal copiés ne peuvent pas être décodés.
- Mon jeton ou mon secret est-il envoyé à un serveur ?
- Non. Le décodage et la vérification se font dans votre navigateur ; le jeton et le secret ne sont envoyés ni à notre serveur ni ailleurs.