Décodeur JWT

Traité dans ce navigateur

Limite de texte : 2000000 caractères

Cet outil n’envoie pas votre saisie.

Lecture seule. Pas de vérification de signature. Un JWT n’est pas un chiffrement. alg:none est hostile.

Coller un Bearer pour voir sub, exp, alg. N’importe qui peut lire ces deux parties : ce n’est pas chiffré. On ne vérifie pas la signature et on ne déchiffre pas un JWE.

Un 401, un cookie trop gros, un Authorization: Bearer dans l’onglet Réseau : vous voulez voir ce qu’il y a dedans sans le coller au premier site venu. Le job : lire, pas faire confiance.

Un JWT JWS a la forme xxxxx.yyyyy.zzzzz. Les deux premiers morceaux sont du Base64URL, pas un coffre. La troisième partie est la signature : on ne la vérifie pas.

Ce que vous regardez

  • Header : alg, typ. Alerte si alg vaut none.
  • Payload : sub, iss, aud, exp, iat, nbf, plus les claims maison (role, tenant…).
  • Dates : un exp passé explique souvent un logout ; un exp dans vingt ans mérite une question.

Ce n’est pas chiffrer en AES. Ce n’est pas hacher une chaîne.

Comment l’utiliser

  1. Collez le jeton complet (trois segments, points inclus).
  2. Lisez header et payload dans l’onglet. Rien n’est envoyé.
  3. Pour autoriser un utilisateur en vrai, la vérif de signature se fait côté serveur, avec une bibliothèque — pas avec un décodeur web.

FAQ

Vérifiez-vous la signature (HS256, RS256) ?

Non. Décoder ≠ vérifier. Sans la clé, on affiche seulement ce qui est déjà lisible. Ne faites pas confiance aux claims pour autoriser quoi que ce soit.

Un JWT est-il chiffré ?

Un JWS classique (trois segments) est *signé*, pas chiffré. Le payload se lit en Base64URL. Un JWE (chiffrement) n’est pas ce que cet outil déplie.

Pourquoi `alg: none` est-il dangereux ?

Le jeton se prétend non signé. Un serveur naïf peut accepter n’importe quel payload. Si vous voyez none, traitez le token comme du bruit.

Le token de prod est-il envoyé ?

Non. Le décodage reste dans cet onglet. Malgré tout, un JWT vaut souvent une session : préférez un jeton de recette.

C’est la même chose que Base64 ?

Le JWT *utilise* du Base64URL. Pour une chaîne quelconque, Base64. Ici, on découpe header.payload.signature.

Puis-je forger un admin token ?

Non, et ce n’est pas le but. Modifier le payload sans resignature valide se voit dès qu’un serveur vérifie vraiment.

Outils liés