Aller au contenu principal

Décodeur JWT

Collez un JSON Web Token : l’en-tête et le payload sont décodés en JSON pendant la saisie, avec un résumé de l’algorithme, de l’émetteur, de l’audience et des dates exp, iat et nbf en heure locale.

  • Presse-papiers

Intégrer ce widget

Personnalisez le rendu, vérifiez l’aperçu puis copiez le code.

Aperçu

Type de code d’intégration

Code à copier

Responsive et redimensionné automatiquement par Bethemesh.

Le décodage ne vérifie pas la signature : n’importe qui peut lire un JWT. Pour contrôler la signature, utilisez le vérificateur JWT.

Cet outil vous a-t-il été utile ?

Comment fonctionne cet outil ?

Le décodeur JWT affiche en clair l’en-tête et le payload d’un JSON Web Token au fur et à mesure que vous le collez. Il s’adresse aux développeurs, testeurs et équipes support qui doivent comprendre rapidement ce que contient un jeton d’accès ou un ID token : algorithme, émetteur, audience et dates de validité. Il lit le jeton mais ne vérifie pas sa signature.

Un JWT signé (RFC 7519, au format JWS compact de la RFC 7515) est composé de trois segments séparés par des points : en-tête, payload et signature. Les deux premiers sont du JSON encodé en Base64URL, une variante du Base64 qui remplace + et / par - et _ et supprime le remplissage =. Le décodeur découpe le jeton, convertit chaque segment en texte UTF-8 puis l’analyse comme JSON. Par exemple, le segment eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 correspond à {"alg":"HS256","typ":"JWT"}.

Le résumé extrait ensuite les champs utiles : alg et typ dans l’en-tête, iss (émetteur), sub (sujet) et aud (audience) dans le payload. Les claims exp, iat et nbf sont des NumericDate, c’est-à-dire un nombre de secondes depuis le 1er janvier 1970 UTC : 1767225600 correspond au 1er janvier 2026 à 00:00 UTC. L’outil les convertit en heure locale et indique si le jeton est valide, expiré ou pas encore valide. Un avertissement apparaît si l’en-tête déclare alg: none, c’est-à-dire un jeton non signé.

Comment utiliser cet outil ?

  1. Collez le JWT

    Collez le jeton complet, avec ses trois parties séparées par des points. Le décodage démarre pendant la saisie, sans bouton à cliquer.

  2. Lisez l’en-tête et le payload

    Les deux segments s’affichent en JSON formaté : algorithme et type dans l’en-tête, claims standards et personnalisés dans le payload.

  3. Consultez le résumé

    Vérifiez l’algorithme, iss, sub, aud et les dates exp, iat et nbf en heure locale avec leur statut. Pour contrôler la signature, passez au vérificateur JWT.

Cas d'utilisation

Diagnostiquer une erreur 401

Une API refuse votre requête : décodez le jeton Bearer pour voir s’il est expiré, si l’audience aud correspond bien à l’API appelée ou si l’émetteur iss est le bon environnement.

Lire les rôles d’un ID token

Après une connexion OpenID Connect (Auth0, Keycloak, Entra ID, Cognito), consultez les claims personnalisés comme roles, groups ou scope pour comprendre pourquoi un utilisateur n’a pas accès à une page.

Contrôler la durée de vie des jetons

Comparez iat et exp pour vérifier que votre fournisseur d’identité émet bien des jetons d’accès de 5, 15 ou 60 minutes, comme prévu par votre configuration.

Exemples

Décodage d’un jeton JWT de démonstration

Entrée

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

Résultat

En-tête : {"alg":"HS256","typ":"JWT"} ; Charge utile : {"sub":"1234567890","name":"John Doe","iat":1516239022} ; signature non vérifiée

Conseils et bonnes pratiques

  • Retirez le préfixe « Bearer » copié depuis un en-tête Authorization : seul le jeton eyJ… doit être collé.
  • Un jeton qui commence par eyJ et compte cinq segments est un JWE chiffré (RFC 7516) : son contenu ne peut pas être lu sans la clé de déchiffrement.
  • Un statut « valide » ne concerne que les dates : un jeton lisible et non expiré peut très bien avoir été forgé tant que sa signature n’a pas été vérifiée.

Sources et références

Questions fréquentes

Peut-on décoder un JWT sans la clé secrète ?

Oui. L’en-tête et le payload sont seulement encodés en Base64URL, pas chiffrés : n’importe qui possédant le jeton peut les lire. La clé n’est nécessaire que pour vérifier la signature, ce que fait le vérificateur JWT et non ce décodeur.

Le contenu d’un JWT est-il chiffré ?

Non, un JWT signé (JWS) est lisible par tous ; la signature garantit seulement qu’il n’a pas été modifié. Ne placez donc jamais de mot de passe ou de donnée confidentielle dans le payload. Si le contenu doit rester secret, il faut utiliser un JWE (RFC 7516).

Que signifient exp, iat et nbf ?

exp est la date d’expiration, iat la date d’émission et nbf la date avant laquelle le jeton ne doit pas être accepté. Ce sont des secondes Unix (NumericDate, RFC 7519) et non des millisecondes. L’outil les affiche en heure locale avec le statut valide, expiré ou pas encore valide.

Pourquoi l’alerte alg: none est-elle importante ?

alg: none signifie que le jeton n’est pas signé du tout. Un serveur qui l’accepte laisse n’importe qui fabriquer ses propres jetons, une faille connue recensée dans la RFC 8725. Une application en production doit toujours imposer la liste des algorithmes autorisés.

Pourquoi mon JWT ne se décode-t-il pas ?

Le jeton est souvent tronqué lors du copier-coller, contient encore le préfixe Bearer ou des guillemets, ou n’a pas trois segments. Un segment qui n’est pas du Base64URL valide ou dont le contenu n’est pas du JSON provoque aussi une erreur.

Est-ce risqué de coller un vrai jeton dans un décodeur en ligne ?

Un jeton d’accès valide est un identifiant : quiconque le récupère peut l’utiliser jusqu’à son expiration. Ici, le décodage est fait dans votre navigateur et le jeton n’est envoyé à aucun serveur. Préférez tout de même des jetons de test ou déjà expirés lorsque c’est possible.

Workflow recommandé

Découvrez les outils qui interviennent naturellement avant, après ou en complément de celui-ci.

Fonctionne bien avec

Encodez un texte en Base64 ou décodez une chaîne Base64 pour retrouver son contenu d’origine.

Sécurité & confidentialitéMis en avantUtiliser l’outil

Formatez, minifiez et validez un document JSON pour le rendre plus lisible ou plus compact.

Sécurité & confidentialitéMis en avantUtiliser l’outil

Calculez en une fois les empreintes MD5, SHA-1, SHA-256, SHA-384 et SHA-512 d’un texte ou d’un fichier.

Sécurité & confidentialitéMis en avantUtiliser l’outil

Étape suivante

Vérifiez la signature d’un JWT avec un secret HMAC ou une clé publique JWK, JWKS ou PEM, puis contrôlez exp, nbf, iss et aud.

Sécurité & confidentialitéUtiliser l’outil