Décodeur JWT et inspecteur gratuit en ligne
Décodez instantanément les en-têtes et les claims du payload JWT dans votre navigateur. Inspectez les horodatages d'expiration et la structure des tokens sans exposer de secrets sensibles.
Comment décoder un jeton JWT
Collez le jeton.
Copiez le JWT sans le mot Bearer et collez-le dans la zone de saisie. Il se décode dès que les trois parties séparées par des points sont présentes.
Lisez l'en-tête et le payload.
Les deux apparaissent en JSON indenté. La barre d'état au-dessus affiche l'algorithme, Expiré ou Actif, ainsi que les dates exp et iat à votre heure locale.
Copiez ce dont vous avez besoin.
Utilisez le bouton de copie du panneau En-tête ou Payload pour récupérer le JSON. La signature s'affiche sous forme de texte et n'est pas vérifiée.
Questions fréquentes
Réponses sur le décodage, la vérification, l'expiration et la protection des jetons.
Comment décoder un jeton JWT ?
Collez le jeton dans la zone ci-dessus. Il est découpé aux deux points, et les deux premières parties sont décodées depuis Base64url en JSON. L'en-tête et le payload apparaissent immédiatement, avec l'algorithme et les éventuelles dates exp et iat.
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 : toute personne qui possède le jeton peut donc les lire. La clé secrète ou privée sert à signer ou vérifier un jeton, pas à lire ses revendications, c'est pourquoi les jetons ne doivent pas contenir de mots de passe.
Quelle est la différence entre décoder et vérifier un JWT ?
Décoder consiste à lire les revendications. Vérifier consiste à recalculer la signature avec la clé secrète (HS256) ou la clé publique (RS256, ES256) pour prouver que personne ne les a modifiées. Cet outil ne fait que décoder : ne faites donc pas confiance à un jeton dans votre application tant que le code serveur ne l'a pas vérifié avec une bibliothèque JWT.
Peut-on coller un JWT ici en toute sécurité ?
Un jeton valide est décodé dans votre navigateur et n'est jamais envoyé à PixConvert. Les statistiques d'usage enregistrent les clics, comme Copier, et la durée d'un décodage. Si un jeton est endommagé, le texte de l'erreur est également envoyé, et dans Chrome il peut citer quelques caractères décodés. Les jetons expirés ou de test sont les plus sûrs à coller.
Qu'est-ce que la revendication exp ?
exp est l'heure d'expiration, en secondes écoulées depuis le 1er janvier 1970 (heure Unix). Ce décodeur l'affiche sous forme de date dans votre fuseau horaire local et marque le jeton comme Expiré une fois cet instant passé. Un jeton sans exp s'affiche comme Actif.
Pourquoi l'état Actif s'affiche-t-il alors que le jeton n'est pas valide ?
Actif signifie seulement que l'heure exp n'est pas dépassée, ou que le jeton n'a pas d'exp. L'outil ne vérifie ni la signature, ni nbf (not before), ni l'émetteur, ni l'audience : un jeton falsifié ou pas encore valide peut donc quand même s'afficher comme Actif. Vérifiez ces revendications vous-même.
Pourquoi mon JWT est-il signalé comme invalide ou indique-t-il un nombre de segments insuffisant ?
Le décodeur attend exactement trois parties séparées par deux points. Retirez le mot Bearer et les éventuels guillemets, et vérifiez que la copie n'a pas été tronquée. Les jetons JWE chiffrés comportent cinq parties et ne peuvent pas être décodés sans la clé.
Puis-je décoder un JWT sans connaître l'algorithme de signature ?
Oui. Le décodage fonctionne de la même manière pour tous les algorithmes, et la valeur alg de l'en-tête, par exemple HS256, RS256, ES256 ou none, s'affiche dans la barre d'état. Vous n'avez besoin de connaître l'algorithme que pour vérifier la signature dans votre propre code.
Quelle est la différence entre un jeton d'accès et un jeton d'ID ?
Un jeton d'ID est toujours un JWT et indique à votre application qui s'est connecté, avec des revendications comme sub, email et name. Un jeton d'accès permet à un client d'appeler une API et peut être un JWT ou une chaîne opaque. Seuls les jetons au format JWT peuvent être décodés ici.
Pourquoi la signature ressemble-t-elle à des caractères aléatoires ?
La signature est la sortie binaire de HMAC, RSA ou ECDSA, écrite sous forme de texte Base64url. Elle n'a aucun sens lisible en elle-même et prouve seulement que l'en-tête et le payload n'ont pas été modifiés. Le décodeur l'affiche sous forme de texte et ne la vérifie pas.
Pourquoi les noms avec accents s'affichent-ils de travers ?
Le décodeur lit actuellement les octets du payload un par un au lieu de les lire en UTF-8, si bien que José s'affiche José et que les emoji deviennent des symboles étranges. Le jeton lui-même est correct. Les revendications en ASCII simple, comme sub, iat et exp, ne sont pas concernées.
Décodeur JWT pour l'en-tête, le payload et l'expiration
Lisez l'en-tête et le payload de n'importe quel JWT en trois parties sous forme de JSON formaté, consultez alg, exp et iat d'un coup d'œil, et copiez chaque partie en un clic.

Décoder l'en-tête et le payload d'un JWT en JSON
Collez un jeton et l'en-tête et le payload apparaissent en JSON indenté pendant votre saisie, sans bouton Décoder. La signature brute s'affiche en dessous, et chaque panneau JSON a son propre bouton de copie.
- Décode à chaque modification, sans bouton
- JSON avec indentation de 2 espaces
- Copiez l'en-tête ou le payload séparément

Vérifier l'expiration et l'algorithme d'un JWT
La barre d'état lit exp et affiche Expiré ou Actif, à côté de l'alg de l'en-tête. exp et iat s'affichent sous forme de dates dans votre fuseau horaire local, vous n'avez donc jamais à convertir des secondes Unix.
- Expiré ou Actif d'après la revendication exp
- alg affiché, par exemple HS256 ou RS256
- exp et iat à l'heure locale
Décode, mais ne vérifie pas
L'outil ne vérifie jamais la signature et n'a aucun champ pour une clé secrète ou publique. Utilisez-le pour lire les revendications, puis vérifiez le jeton dans votre propre code avec une bibliothèque JWT.
Base64url géré pour vous
Chaque partie est décodée depuis Base64url : - et _ sont remplacés par leurs équivalents et le remplissage manquant est ajouté, de sorte que les jetons se décodent sans retouche. Les jetons non signés avec alg none et une signature vide fonctionnent aussi.
Gratuit, sans compte
Sans inscription ni limite. Les statistiques d'usage enregistrent les clics, comme Copier, et la durée d'un décodage, jamais un jeton valide. Un décodage échoué envoie aussi le texte de l'erreur, qui peut en citer une partie.
Jetons d'ID et jetons d'accès
Décodez les jetons d'ID OpenID Connect, les jetons d'accès OAuth au format JWT et les jetons de session d'API. Les jetons JWE chiffrés comportent cinq parties : ils ne peuvent pas être lus et affichent une erreur.
Quand avez-vous besoin d'un décodeur JWT ?
Déboguer un flux d'authentification est plus simple quand on peut lire ce que contient un jeton.
Débogage d'API
Copiez un jeton Bearer depuis un en-tête Authorization, retirez le mot Bearer, puis collez-le pour voir quel utilisateur, quels rôles et quels scopes votre API reçoit.
- Lisez les revendications sub, roles et scope dans les jetons d'accès
- Vérifiez si une erreur 401 vient d'un jeton expiré
- Copiez le JSON du payload dans une fixture de test
Développement OAuth et OIDC
Décodez les jetons d'ID et les jetons d'accès pendant que vous développez une connexion OAuth 2.0 ou OpenID Connect, et vérifiez que les revendications issuer, audience et email sont correctes.
- Inspectez iss, aud et email dans un id_token
- Comparez les jetons de vos connexions de test et de production
- Lisez iat et exp pour connaître la durée de vie d'un jeton
Audit de sécurité
Examinez l'algorithme et les revendications des jetons lors d'un audit de sécurité. Signalez alg none, et repérez les données personnelles qui n'ont pas leur place dans un payload lisible par tous.
- Repérez les jetons qui utilisent alg none et n'ont pas de signature
- Trouvez les e-mails ou identifiants d'utilisateur exposés dans le payload
- Relevez les durées de vie trop longues d'après les dates iat et exp
Découvrez d'autres outils
Découvrez d'autres outils gratuits qui se marient parfaitement avec celui-ci
Encodeur Base64
Encodez et décodez des chaînes Base64
Formateur JSON
Formatez, validez et minifiez du JSON dans votre navigateur
Générateur de hachages
Générez des hachages SHA-1, SHA-256 et SHA-512 de textes ou de fichiers
Encodeur d’URL
Encodez et décodez des composants d’URL
Générateur de mots de passe
Générez des mots de passe aléatoires et robustes
Générateur d’UUID
Générez des UUID v4 aléatoires, un seul ou jusqu'à 100 à la fois