Décodeur JWT
Décode l'en-tête et le payload JWT en local.
À propos de cet outil
Un JSON Web Token (RFC 7519) est composé de trois segments encodés en Base64url joints par des points : en-tête, charge utile et signature. JWT Decoder divise le jeton, décode les deux premiers segments en JSON, les formate et calcule les revendications liées au temps (iat, exp, nbf) comme des horodatages lisibles par l'humain. Les revendications enregistrées standards (iss, sub, aud, jti) sont étiquetées avec leur signification. Le décodage s'exécute entièrement dans votre navigateur — votre jeton ne quitte jamais la page.
L'en-tête vous indique l'algorithme de signature (alg : HS256, RS256, ES256, etc.) et le kid (ID de clé) optionnel. La charge utile contient les revendications de l'application — ID utilisateur, rôles, expiration. La signature est affichée comme un blob Base64 ; nous ne la vérifions délibérément pas sur cette page car la vérification nécessite le secret ou la clé publique de l'émetteur, qui ne devrait jamais être collé dans un outil tiers. Le jeton est traité comme des données uniquement.
Quand utiliser cet outil
- Lire un jeton de votre propre service. Inspectez quelles revendications vous émettez réellement — repérez rapidement les champs manquants, les mauvaises audiences ou les valeurs par défaut surprenantes.
- Débogage des réponses "401 Unauthorized". Vérifiez l'expiration, l'émetteur, l'audience et la portée par rapport à ce que le serveur attend.
- Vérifier une intégration tierce. Lorsqu'un fournisseur OAuth vous remet un jeton ID, décodez la charge utile pour voir quelles revendications utilisateur ils regroupent.
- Repérer la confusion d'algorithme. Si
algestnoneou diffère de manière inattendue entre les jetons, votre bibliothèque d'authentification est probablement mal configurée.
Pourquoi nous ne validons pas les signatures
La vérification de signature JWT nécessite le secret (pour les algorithmes HMAC) ou la clé publique de l'émetteur (pour RSA/ECDSA). Coller l'un ou l'autre dans un outil web est une erreur de sécurité — le secret compromettrait chaque jeton émis ; la clé publique, bien que moins sensible, peut toujours être privée. Le décodeur confirme la structure et révèle les revendications ; pour la vraie vérification, utilisez le SDK fourni avec votre bibliothèque d'authentification (jsonwebtoken, pyjwt, jose) à l'intérieur de votre propre code.
Questions fréquentes
Est-il sûr de coller mon JWT ici ?
Pourquoi la signature est-elle affichée mais non vérifiée ?
Que signifie "alg : none" ?
alg : none existe dans la spécification mais ne devrait jamais apparaître en production — c'est la cause racine de la fameuse vulnérabilité "JWT none-algorithm" où une bibliothèque accepte none comme valide. Si vous le voyez dans un vrai jeton d'un vrai service, c'est un bug sérieux.
Quelle est la différence entre exp, iat et nbf ?
iat (issued-at) est quand le jeton a été créé. nbf (not-before) est le moment le plus tôt où le jeton peut être utilisé — généralement égal à iat mais peut être dans le futur pour une activation différée. exp (expiration) est quand le jeton cesse d'être valide. Tous les trois sont des horodatages Unix en secondes. Un vérificateur bien comporté vérifie nbf ≤ maintenant ≤ exp à chaque requête.