Décodeur JWT — lire header et payload localement (sans vérifier)
Collez un JWT pour lire header et payload en JSON dans votre navigateur — sans vérification de signature. Étapes : coller le jeton, décoder, copier header ou payload. Exemple : le jeton d’exemple affiche alg HS256 et iat 1516239022 en UTC et heure locale. Le jeton n’est pas envoyé.
Fonctionnement
Collez un JWT complet (header.payload.signature). La page sépare par points, décode Base64url sur les deux premiers segments et formate le JSON. exp, iat et nbf numériques affichent UTC et heure locale. La signature n’est montrée qu’en texte brut — sans vérification.
Règles à connaître
Ce que ce décodeur fait et ne fait pas : structure, Base64url, claims enregistrés et limite sans vérification.
- Structure : un JWT signé (JWS compact) a trois segments Base64url — header (alg, typ), payload (claims), signature (octets, pas JSON).
- Base64url : -→+, _→/, compléter le padding jusqu’à longueur %4, puis atob et JSON.parse. Les erreurs ciblent header ou payload.
- Claims enregistrés : exp, iat et nbf sont des secondes Unix UTC. Lire le JSON ne prouve pas que le jeton est fiable.
- Confidentialité : collage local ; pas de HMAC/RSA. N’autorisez pas en production sur le seul JSON décodé.
Exemple
Entrée : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9eIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c → Header : {"alg":"HS256","typ":"JWT"}. Payload : {"sub":"1234567890","name":"John Doe","iat":1516239022} avec iat en UTC et heure locale. Signature affichée brute — non vérifiée.
Cas d’usage
- Débogage OAuth : inspectez sub, scope et exp d’un access token avant la passerelle API.
- Contrats API : confirmez iss et aud d’un ID token avec votre documentation.
- Apprentissage : voir comment header, payload et signature forment trois segments JWS.
Frequently asked questions
Cette page vérifie-t-elle la signature JWT ?
Non. Décoder inverse seulement Base64url sur header et payload ; vérifier la signature exige la clé de l’émetteur — volontairement absent ici.
Pourquoi mon jeton échoue sur le nombre de segments ?
Vérifiez d’avoir collé le jeton complet avec deux points et trois segments. Points en trop, collage tronqué ou chaîne non-JWT échouent.
Quelle différence entre Base64url et Base64 ?
JWT utilise Base64url : - au lieu de +, _ au lieu de /, souvent sans =. Un Base64 classique peut échouer sur des jetons URL-safe.
Comment lire exp, iat ou nbf ?
exp, iat et nbf sont des secondes Unix UTC. Cette page les affiche en UTC et dans votre fuseau local ; comparez exp à l’heure actuelle.
Mon jeton est-il envoyé à un serveur ?
Non. Découpage, Base64url et JSON s’exécutent entièrement dans votre onglet.
Questions ou retours
Quelque chose n’est pas clair, cassé ou manquant ? Rédigez un message ci-dessous — nous lisons chaque note.