Décodeur et vérificateur JWT

Collez un JSON Web Token pour examiner son en-tête et sa charge utile, vérifier sa date d'expiration et valider sa signature. Le décodage s'effectue localement : votre jeton ne quitte jamais le navigateur.

Mis à jour le
🔒 Votre jeton est décodé et vérifié localement dans votre navigateur. Ces informations ne sont jamais transmises à un serveur, ni enregistrées, ni stockées.
En-tête
Données utiles

Affirmations

Vérifier la signature (facultatif)

Vos données ne quittent jamais votre ordinateur. Tout le traitement se fait localement dans votre navigateur.

Comment utiliser : Décodeur JWT

  1. Collez un JWT (avec ou sans le Bearer préfixe) dans le champ « Jeton encodé », ou cliquez sur « Charger un exemple ».
  2. Lisez l'en-tête et la charge utile décodés ; les indicateurs indiquent l'algorithme utilisé et précisent si le jeton a expiré.
  3. Consultez le tableau « Claims » pour obtenir des données lisibles par l'utilisateur exp, iat et nbf heures dans votre fuseau horaire local.
  4. Vous pouvez, si vous le souhaitez, vérifier la signature : saisissez le secret partagé pour les jetons HS256/384/512, ou collez la clé publique (au format PEM ou JWK) pour les jetons RS, PS, ES et EdDSA.

Qu'est-ce qu'un JWT ?

Un JSON Web Token (JWT, prononcé « jot », défini dans la norme RFC 7519) est une chaîne de caractères compacte et compatible avec les URL, utilisée pour transmettre des revendications entre des parties — le plus souvent sous la forme d’un jeton d’accès ou d’un jeton d’identification dans OAuth 2.0 et OpenID Connect, envoyé dans un Authorization: Bearer … en-tête. Il se compose de trois parties encodées en Base64URL, séparées par des points :

  1. En-tête — JSON décrivant le jeton, par exemple {"alg":"HS256","typ":"JWT"}.
  2. Chargement utile — JSON contenant les revendications : l’identité de l’utilisateur, les actions qu’il est autorisé à effectuer et la date d’expiration du jeton.
  3. Signature — calculée à partir header.payload à l’aide d’une clé secrète ou privée ; ainsi, toute modification des deux premières parties l’invalide.

Important : l’en-tête et la charge utile sont uniquement encodés, et non chiffrés. Toute personne en possession du jeton peut les lire — ce qui est précisément le rôle de ce décodeur. N’incluez jamais de secrets ni de données personnelles sensibles dans la charge utile d’un JWT. (Il existe des jetons chiffrés — les JWE, composés de cinq parties — mais leur charge utile ne peut être lue qu’à l’aide de la clé de déchiffrement.)

Réclamations enregistrées

RéclamationNomSignification
issÉmetteurQui a émis le jeton (par exemple, l'URL de votre serveur d'authentification)
subSujetL'utilisateur ou l'entité que le jeton représente
audDestinatairesLa ou les API qui doivent accepter le jeton
expExpirationTemps Unix au-delà duquel le jeton doit être rejeté
nbfPas avantTemps Unix avant lequel le jeton n’est pas valide
iatÉmis leHeure Unix à laquelle le jeton a été créé
jtiID JWTIdentifiant unique, utile pour empêcher la réutilisation

Les horodatages sont exprimés en secondes depuis le 1er janvier 1970 UTC — et non en millisecondes, une erreur courante lors de la génération de jetons en JavaScript avec Date.now(). Le décodeur les convertit en dates lisibles ; pour les autres horodatages, utilisez le convertisseur d’horodatage Unix.

Algorithmes de signature

Les algorithmes HS256/384/512 utilisent HMAC avec un secret partagé : la même clé sert à signer et à vérifier, ce qui permet à tout vérificateur de générer également des jetons. RS256 (RSA), PS256 (RSA-PSS), ES256 (ECDSA P-256) et EdDSA utilisent une clé privée pour signer et une clé publique pour vérifier — ce qui constitue le meilleur choix lorsque plusieurs services doivent valider des jetons. Les fournisseurs d’identité publient leurs clés publiques sous forme de JWKS à une URL telle que /.well-known/jwks.json; vous pouvez coller ce fichier JSON ici et la clé correspondant au jeton kid est sélectionnée. La vérification s’effectue via l’API Web Crypto du navigateur.

Liste de contrôle de sécurité

  • Vérifiez toujours la signature sur le serveur — le décodage seul ne prouve rien.
  • Refusez alg: none et verrouillez les algorithmes attendus, afin d’éviter les attaques par confusion d’algorithmes.
  • Vérifiez exp, nbf, iss et aud, en n’autorisant qu’un faible décalage d’horloge.
  • Pour HS256, utilisez une clé secrète aléatoire d’au moins 256 bits — le générateur de mots de passe peut en créer une.

Aussi recherché comme : débogueur jwt, décoder un jwt, jeton web json, analyseur jwt, vérification du jwt, expiration du jwt, décodeur de jetons au porteur, jwt io.

Outils complémentaires : Décodeur JWT

  • PKCE Generator — Test or debug an OAuth 2.0 / OpenID Connect login with PKCE.
  • Encodage / Décodage Base64 — Convertissez du texte au format Base64 et inversement, avec une prise en charge complète de l'UTF-8 (accents, emojis) ; passez au format Base64 compatible URL, ou glissez-déposez un fichier pour obtenir sa chaîne Base64 ou son URI de données.
  • Hash Generator — Compute MD5 and SHA hashes of any text or file instantly, create HMAC signatures, and paste an expected checksum to verify a download.
  • Formateur JSON — Collez votre code JSON pour le formater, le compresser ou le valider.

Questions fréquentes

Puis-je coller mon JWT ici en toute sécurité ?
Le décodage et la vérification s'effectuent entièrement dans votre navigateur : le jeton n'est ni envoyé à un serveur, ni stocké, ni intégré à l'URL. Veillez toutefois à traiter les jetons de production comme des mots de passe : privilégiez les jetons expirés ou de test, et ne communiquez jamais les jetons actifs.
Est-il possible de décoder un JWT sans la clé secrète ?
Oui. L'en-tête et la charge utile sont simplement du JSON encodé en Base64URL, lisible par tout le monde. Le secret ou la clé n'est nécessaire que pour vérifier la signature, c'est-à-dire pour prouver que le jeton est authentique et n'a pas été modifié.
Comment puis-je vérifier si un JWT a expiré ?
Consultez la exp information indiquée : un horodatage Unix exprimé en secondes. Cet outil le compare à l’horloge de votre appareil et affiche un badge « Expiré » ou « Non expiré », ainsi que l’heure exacte dans votre fuseau horaire.
Quelle est la différence entre HS256 et RS256 ?
HS256 utilise un secret partagé unique pour la signature et la vérification (HMAC symétrique). RS256 signe à l'aide d'une clé privée RSA et vérifie à l'aide de la clé publique (asymétrique) ; les vérificateurs ne peuvent donc pas créer de jetons.
Pourquoi la vérification échoue-t-elle alors que le secret est correct ?
Vérifiez si la clé secrète est stockée sous forme encodée en Base64 (cochez l'option), s'il n'y a pas d'espaces ou de sauts de ligne superflus, et si le jeton n'a pas été modifié — le moindre caractère modifié dans l'en-tête ou la charge utile invalide la signature.
Puis-je installer Décodeur JWT en tant qu’application web et l’utiliser hors ligne ?
Oui. Décodeur JWT est une application web installable (PWA) : elle s’installe depuis votre navigateur, sans passer par une boutique d’applications. Cliquez sur « Installer l’application » en haut de cette page dans Chrome ou Edge (Windows, macOS, Linux, ChromeOS) ; sur Android, utilisez « Partager » → « Ajouter à l’écran d’accueil » sur iPhone et iPad ; ou « Fichier » → « Ajouter au Dock » dans Safari 17+ sur Mac. L’application s’ouvre alors dans sa propre fenêtre avec sa propre icône, et comme elle s’exécute entièrement dans votre navigateur, elle continue de fonctionner hors ligne. Firefox sur ordinateur de bureau ne permet pas d’installer d’applications web. Comment fonctionne l’installation.

Outils similaires