Décodeur JWT en ligne
Collez un JSON Web Token pour lire ce qu’il contient réellement — en-tête et charge utile en JSON formaté, expiration et date d’ouverture traduites en langage clair.
Jeton
Décodé
À propos de cet outil
Un JWT, ce sont trois segments Base64url réunis par des points : en-tête, charge utile et signature. Les deux premiers ne sont que du JSON encodé : n’importe quel jeton se lit donc sans clé — c’est tout l’intérêt de cette page, et aussi la raison pour laquelle un jeton ne doit jamais transporter de secret. La signature est affichée mais pas vérifiée : la vérifier exige la clé, et une clé n’a rien à faire dans un onglet de navigateur. Les revendications de temps sont ce que l’on vient chercher la plupart du temps : exp et nbf sont donc comparées à votre horloge et rapportées sous la forme « expire dans 3 jours » plutôt qu’en nombre epoch brut.
Comment l’utiliser
- 1Coller le jeton dans le panneau de gauche — avec ou sans le préfixe Bearer, il est retiré.
- 2Lire à droite l’en-tête et la charge utile décodés ; la barre d’état porte l’expiration.
- 3Passer en Arbre si la charge utile est volumineuse et que vous voulez en replier des parties.
Questions fréquentes
›Cela vérifie-t-il la signature ?
Non, et aucun outil dans un navigateur ne le peut. La vérification demande le secret ou la clé publique, et coller un secret dans une page web est exactement ce qu’il ne faut pas faire. Ici le jeton est décodé pour que vous lisiez ce qu’il affirme ; vérifiez-le sur le serveur qui détient la clé.
›Un JWT est-il chiffré ?
Non. L’en-tête et la charge utile sont en Base64url — un encodage, pas un chiffrement. Quiconque détient le jeton peut lire chacune de ses revendications, et c’est pourquoi un JWT ne doit jamais transporter de mot de passe, de numéro de carte ou d’autre secret.
›Que signifient iat, exp et nbf ?
Émis le, expiration et pas avant, tous en secondes depuis l’epoch Unix. Cette page traduit exp et nbf en langage clair — « expire dans 3 jours », « a expiré il y a 2 heures » — en utilisant votre propre horloge.
›Pourquoi mon jeton ne se décode-t-il pas ?
En général à cause d’une copie tronquée : un JWT a besoin d’exactement trois parties séparées par des points. Un préfixe « Bearer » resté devant le casse également, tout comme un jeton encodé pour URL quelque part en chemin.
›Mon jeton est-il envoyé quelque part ?
Non. Le décodage se fait entièrement dans votre navigateur — rien n’est envoyé, journalisé ni stocké. Cela compte ici plus que sur la plupart des pages, car un jeton valide est un identifiant de connexion.