Décodeur JWT
Collez un JSON Web Token pour lire son en-tête et sa charge utile, voir quand il expire et vérifier sa signature – entièrement sur votre appareil.
- Le jeton reste local
- Contrôle d’expiration
- Vérification de signature
- Instantané
Décodé sur votre appareil. Le jeton n’est envoyé nulle part et n’est pas enregistré – il disparaît au rechargement de la page.
En-tête
Charge utile
Les claims expliqués
| Claim | Valeur | Signification |
|---|
Vérifier la signature
Collez une clé publique PEM (-----BEGIN PUBLIC KEY-----), un JWK ou un JWKS. Ne collez jamais une clé privée sur un site web.
Comment décoder un JWT
Collez et lisez.
- 1
Collez le jeton
Avec ou sans le préfixe « Bearer ». Les trois parties sont colorées pour montrer où chacune commence.
- 2
Lisez l’en-tête et la charge utile
Tous deux s’affichent en JSON formaté. Les claims de temps sont traduits en dates et chaque claim standard est expliqué.
- 3
Vérifiez la signature (facultatif)
Saisissez le secret partagé ou collez la clé publique pour savoir si le jeton est authentique et intact.
Un décodeur utilisable avec de vrais jetons
Parce qu’un jeton de production est un mot de passe.
Décodé sur votre appareil
Le jeton est traité par du JavaScript dans votre navigateur. Il ne nous est pas envoyé, n’est pas journalisé et n’est pas conservé d’une visite à l’autre.
L’expiration en un coup d’œil
Une pastille indique si le jeton est encore valide, déjà expiré ou pas encore valide – avec le temps restant.
Claims expliqués
iss, sub, aud, exp, nbf, iat, jti et les claims OpenID courants sont décrits à côté de leur valeur.
Vraie vérification de signature
Les signatures HMAC, RSA, RSA-PSS, ECDSA et Ed25519 sont contrôlées avec l’API Web Crypto.
PEM, JWK ou JWKS
Collez la clé sous la forme publiée par votre fournisseur d’identité ; dans un JWKS, la bonne clé est retrouvée grâce à son kid.
Des alertes utiles
Les jetons non signés (alg: none) et chiffrés (JWE) sont reconnus et expliqués au lieu d’échouer en silence.
Résultat instantané
Le résultat se met à jour pendant la saisie. Aucun bouton à attendre, aucun rechargement.
Gratuit, sans inscription
Pas de compte, pas de limite, pas de filigrane – sur téléphone, tablette ou ordinateur.
Comment est construit un JSON Web Token
Un JWT se compose de trois parties encodées en Base64URL et séparées par des points : header.payload.signature. L’en-tête indique l’algorithme de signature, la charge utile porte les claims – des affirmations telles que l’identité de l’utilisateur et la durée de validité – et la signature prouve que l’en-tête et la charge utile n’ont pas été modifiés depuis leur émission.
Important : la charge utile est encodée, pas chiffrée. Quiconque détient le jeton peut la lire, exactement comme le fait cet outil, sans aucune clé. Ne placez jamais de mot de passe ni d’autre secret dans un JWT, et traitez les jetons comme des mots de passe : celui qui en possède un valide peut agir au nom de son utilisateur jusqu’à l’expiration.
Décoder n’est pas vérifier. Un serveur doit toujours contrôler la signature avec l’algorithme attendu, puis exp, nbf, l’émetteur et l’audience avant de se fier au moindre claim. Les jetons avec alg: none ne sont pas signés et doivent être refusés. Les algorithmes HMAC (HS256) utilisent un même secret pour signer et vérifier ; les algorithmes RSA et ECDSA (RS256, ES256) signent avec une clé privée et vérifient avec une clé publique.
Claims enregistrés
| Claim | Nom | Signification |
|---|---|---|
| iss | Issuer (émetteur) | Qui a créé et signé le jeton |
| sub | Subject (sujet) | La personne concernée – en général un identifiant d’utilisateur |
| aud | Audience | L’API ou l’application à laquelle le jeton est destiné |
| exp | Expiration time | Heure Unix après laquelle le jeton doit être refusé |
| nbf | Not before | Heure Unix avant laquelle le jeton n’est pas valide |
| iat | Issued at | Heure Unix à laquelle le jeton a été créé |
Conseils
- Convertissez à la main une valeur
expouiatavec le Convertisseur de timestamp. - Décodez une partie du jeton ou une valeur Base64URL avec l’encodeur Base64.
- Mettez en forme ou validez une grosse charge utile avec le Formateur JSON.
- Donnez une durée de vie courte aux jetons d’accès (des minutes, pas des jours) et faites tourner les clés de signature ; publiez les clés publiques dans un JWKS pour que les clients suivent la rotation.
Questions fréquentes
Vous ne trouvez pas votre réponse ? Contactez-nous — nous répondons rapidement.
Puis-je coller mon jeton ici sans risque ?
Le jeton est décodé par du code exécuté dans votre navigateur ; il n’est ni transmis à notre serveur ni stocké. Cela dit, un jeton de production est un identifiant : préférez des jetons de test quand c’est possible, et ne collez jamais de jetons dans des outils qui les envoient à un serveur.
Peut-on décoder un JWT sans le secret ?
Oui. L’en-tête et la charge utile sont seulement encodés en Base64URL : tout le monde peut les lire. Le secret ou la clé ne sert qu’à créer ou vérifier la signature.
Comment vérifier la signature ?
Pour HS256/384/512, saisissez le secret partagé. Pour les jetons RS, PS, ES et EdDSA, collez la clé publique de l’émetteur au format PEM, JWK ou JWKS. Le résultat indique si la signature correspond.
Que signifie « alg: none » ?
Le jeton ne porte aucune signature : n’importe qui peut le falsifier. Les bibliothèques doivent refuser ces jetons sauf s’ils sont explicitement attendus, et cet outil les signale.
Pourquoi mon jeton est-il indiqué comme expiré ?
Le claim exp contient un timestamp Unix en secondes. Si ce moment est passé d’après l’horloge de votre appareil, le jeton est expiré. Une horloge système mal réglée donne un verdict erroné.
Quelle différence entre JWT, JWS et JWE ?
JWT est le format des claims. Un JWS est un jeton signé en trois parties – ce que l’on appelle couramment « JWT ». Un JWE est un jeton chiffré en cinq parties dont le contenu est illisible sans la clé de déchiffrement.
Plus d’outils gratuits pour développeurs
Encoder, formater, tester, convertir et générer – de petits outils qui fonctionnent dans votre navigateur et laissent vos données sur votre appareil.