Développeur

Décodeur JWT

Collez un JWT pour décoder instantanément son en-tête et sa charge utile — inspectez les revendications, les dates d'expiration et la signature sans quitter votre navigateur ni envoyer de données où que ce soit.

Cet outil vous a-t-il aidé ?

Qu'est-ce que Décodeur JWT ?

Un JWT (JSON Web Token) est la méthode standard utilisée par les API web modernes pour représenter les revendications d'authentification et d'autorisation. C'est un jeton compact et autonome composé de trois parties — un en-tête décrivant l'algorithme de signature, une charge utile portant les revendications réelles (comme l'ID utilisateur, les rôles et l'expiration), et une signature permettant au serveur destinataire de vérifier que le jeton n'a pas été altéré. Ce décodeur lit instantanément l'en-tête et la charge utile afin que vous puissiez déboguer des problèmes d'authentification, inspecter les revendications réellement envoyées par une API, ou vérifier quand un jeton expire — le tout sans backend, sans outil en ligne de commande, ni collage de jetons sensibles sur un serveur tiers, puisque tout s'exécute localement dans votre navigateur.

Quand Utiliser Cette Calculatrice

  • Déboguer pourquoi une API rejette un jeton en inspectant ses revendications et sa date d'expiration
  • Vérifier la date d'expiration d'un jeton lors d'une investigation support ou d'une réponse à incident
  • Vérifier qu'un fournisseur SSO ou OAuth émet bien les revendications attendues par votre application.
  • Apprendre la structure des JWT pour un entretien d'embauche ou un cours de sécurité
  • Inspecter un jeton capturé depuis les outils de développement du navigateur ou des journaux serveur pour en comprendre le contenu
  • Comparer l'algorithme d'en-tête entre des jetons pour déboguer les échecs d'authentification par incompatibilité d'algorithme

Étapes:

  1. Collez votre JWT dans le champ de saisie, ou cliquez sur « Charger un exemple » pour en essayer un.
  2. L'en-tête et la charge utile sont décodés automatiquement au fur et à mesure de la saisie.
  3. Consultez des revendications comme iss, sub, exp et iat sous une forme claire et lisible.
  4. Les revendications d'horodatage (exp, iat, nbf) sont automatiquement converties en dates lisibles.

Formule

JWT = base64Url(en-tête) + "." + base64Url(charge utile) + "." + base64Url(signature) Décodage : séparer sur ".", décoder en Base64URL les deux premières parties, analyser en JSON. Vérification (non effectuée ici) : HMACSHA256(base64Url(en-tête) + "." + base64Url(charge utile), secret) === signature

Cas d'utilisation

  • Déboguer pourquoi une API rejette un jeton en inspectant ses revendications
  • Vérifier la date d'expiration d'un jeton lors d'une investigation support
  • Vérifier qu'un fournisseur SSO ou OAuth émet bien les revendications attendues
  • Apprendre la structure des JWT pour un entretien d'embauche ou un cours
  • Inspecter rapidement un jeton copié depuis les outils de développement du navigateur ou des journaux serveur

Avantages Clés

  • Décode instantanément n'importe quel JWT sans backend ni outil en ligne de commande
  • Tout s'exécute côté client — les jetons ne sont jamais envoyés à un serveur
  • Convertit automatiquement les revendications d'horodatage en dates lisibles
  • Gratuit, sans inscription, fonctionne avec n'importe quel JWT quel que soit l'algorithme

Conseils de Pro

  • Vérifiez toujours 'exp' en premier lors du débogage d'une erreur « unauthorized » — un jeton expiré en est la cause la plus fréquente
  • Comparez le 'alg' de l'en-tête avec ce qu'attend votre backend pour repérer les bugs de désaccord d'algorithme
  • Ne faites jamais confiance à une charge utile décodée comme preuve d'identité sans vérifier la signature côté serveur
  • Utilisez des jetons de courte durée accompagnés de jetons de rafraîchissement plutôt que des JWT de longue durée pour limiter l'exposition en cas de fuite

Erreurs Courantes à Éviter

  • Supposer qu'un JWT décodé est un JWT vérifié — le décodage ne fait que lire le contenu, il ne confirme pas l'authenticité
  • Stocker des données sensibles (mots de passe, secrets) dans la charge utile, en oubliant qu'elle est lisible par n'importe qui
  • Coller des jetons de production dans des décodeurs en ligne non fiables
  • Confondre 'exp' (expiration) avec 'iat' (émis à) lors du débogage de problèmes de durée de vie d'un jeton

Termes Clés Expliqués

Revendication (claim) : Une information affirmée à propos d'un sujet, comme un ID utilisateur ou un rôle
En-tête (header) : Le premier segment du JWT, précisant l'algorithme de signature et le type de jeton
Charge utile (payload) : Le deuxième segment du JWT, contenant les revendications réelles
Signature : Le troisième segment du JWT, utilisé pour vérifier que le jeton n'a pas été altéré

Concepts connexes

Exemple

Un jeton commençant par eyJhbGciOiJIUzI1NiJ9 se décode en un en-tête {"alg":"HS256","typ":"JWT"} — indiquant que le jeton est signé avec HMAC-SHA256.

Interprétation de vos résultats

Le décodeur divise le JWT au niveau des deux points séparateurs et décode les deux premiers segments en Base64URL. L'en-tête indique l'algorithme de signature (comme HS256 ou RS256) et le type de jeton. La charge utile contient les revendications réelles — identité de l'utilisateur, autorisations et horodatages. Les revendications d'horodatage (exp, iat, nbf) sont automatiquement converties de l'époque Unix en dates lisibles. Si 'exp' affiche une date passée, le jeton a expiré et la plupart des serveurs le rejetteront. La revendication 'sub' (sujet) contient généralement l'ID utilisateur, et 'iss' (émetteur) identifie le serveur qui a créé le jeton. Rappelez-vous que décoder n'est pas vérifier. La section de signature est affichée mais ne peut être vérifiée sans la clé secrète ou publique. Une charge utile décodée est purement informative — ne la considérez jamais comme une preuve d'identité sans vérification de signature côté serveur.

Questions fréquentes

Qu'est-ce qu'un JWT ?
Un JSON Web Token (JWT) est une façon compacte et compatible URL de représenter des revendications entre deux parties. Il se compose de trois parties encodées en Base64URL séparées par des points : un en-tête, une charge utile et une signature.
Est-il sûr de coller mon JWT dans cet outil ?
Le décodage se fait entièrement dans votre navigateur en JavaScript — le jeton n'est jamais envoyé à un serveur. Cela dit, traitez les JWT comme des mots de passe : évitez de coller des jetons issus de systèmes de production dans un outil en ligne quelconque, y compris celui-ci.
Pourquoi cet outil ne peut-il pas vérifier la signature ?
Vérifier la signature d'un JWT nécessite la clé secrète (pour les algorithmes HMAC) ou la clé publique (pour les algorithmes RSA/ECDSA) que seul le serveur émetteur devrait posséder. Cet outil décode uniquement l'en-tête et la charge utile lisibles — il n'a jamais accès à cette clé.
Que signifie la revendication 'exp' ?
'exp' (Expiration Time) est un horodatage Unix indiquant quand le jeton cesse d'être valide. Cet outil le convertit automatiquement en une date lisible afin que vous puissiez rapidement vérifier si un jeton a expiré.
Qu'est-ce qu'un JWT ?
Un JSON Web Token (JWT) est une méthode compacte et sûre pour les URL de représenter des réclamations entre deux parties. Il se compose de trois parties encodées en Base64URL séparées par des points : un en-tête, un contenu et une signature.
Est-il sûr de coller mon JWT dans cet outil ?
Les algorithmes courants incluent HS256 (HMAC-SHA256, symétrique), RS256 (RSA-SHA256, asymétrique) et ES256 (ECDSA). Le champ 'alg' de l'en-tête précise l'algorithme utilisé. Les plus courants pour les API web sont HS256 ou RS256.
Pourquoi cet outil ne peut-il pas vérifier la signature ?
'iat' (Émis le) correspond au moment où le jeton a été créé. 'nbf' (Pas avant) correspond au moment où le jeton devient valide. Si 'nbf' est dans le futur, le jeton doit être rejeté même s'il n'a pas encore expiré.
Que signifie la revendication 'exp' ?
L'en-tête et la charge utile sont seulement encodés en Base64URL, pas chiffrés. N'importe qui peut les lire. Ne stockez jamais de mots de passe, de secrets ou de données personnelles sensibles dans la charge utile d'un JWT. N'y placez que des revendications non sensibles comme l'ID utilisateur, les rôles et les horodatages.
Quels algorithmes un JWT peut-il utiliser ?
Les jetons d'accès durent généralement 15 à 60 minutes. Les jetons de rafraîchissement durent de quelques heures à plusieurs jours. Les jetons d'accès à courte durée de vie associés à des jetons de rafraîchissement à longue durée de vie équilibrent sécurité et expérience utilisateur.
Comment copier les revendications décodées ?
Un jeton de rafraîchissement est un jeton à longue durée de vie utilisé pour obtenir de nouveaux jetons d'accès sans que l'utilisateur ait à se ré-authentifier. Lorsque le jeton d'accès à courte durée de vie expire, le client envoie le jeton de rafraîchissement pour obtenir un nouveau jeton d'accès.
Comment copier les revendications décodées ?
L'en-tête et la charge utile décodés sont affichés sous forme de JSON formaté. Vous pouvez copier la sortie décodée complète ou des valeurs de revendication individuelles pour le débogage ou la documentation.

Découvrez plus d'outils

Une sélection fraîche de toute notre bibliothèque d'outils.