🔑 Décodeur & Inspecteur JWT
Collez n'importe quel JSON Web Token pour décoder et inspecter son en-tête, sa charge utile (payload) et sa signature.
Jeton (Token)
Header
Payload
Signature
Qu'est-ce qu'un JWT ?
Un JSON Web Token (JWT) est un identifiant compact et sécurisé pour les URL, utilisé pour transmettre des informations de manière sécurisée entre les parties sous forme d'objet JSON. Les JWT sont largement utilisés pour l'authentification, les jetons de session, les clés d'API et les jetons d'accès OAuth 2.0 dans les applications web et mobiles.
Un JWT comporte toujours trois parties séparées par des points : header.payload.signature. Chaque partie est encodée en Base64URL. L'en-tête déclare l'algorithme de signature, la charge utile contient les revendications (les données) et la signature est une somme de contrôle cryptographique qui prouve que le jeton n'a pas été altéré.
Comment décoder un JWT en ligne
- Étape 1 : Copiez votre JWT (il ressemble à une longue chaîne de lettres, de chiffres et de points).
- Étape 2 : Collez-le dans le champ "Jeton" ci-dessus. Le décodage s'effectue instantanément lors de la saisie.
- Étape 3 : Inspectez l'en-tête, la charge utile et la signature décodés dans les panneaux de droite.
- Étape 4 (facultatif) : Pour vérifier une signature HS256/HS384/HS512, collez votre secret partagé dans le champ de vérification et cliquez sur Vérifier.
Revendications courantes d'un JWT (Claims)
| Claim | Signification | Exemple |
|---|---|---|
iss | Issuer - qui a généré et signé le jeton | "https://auth.example.com" |
sub | Subject - l'utilisateur/l'entité concerné par le jeton | "user_42" |
aud | Audience - le destinataire du jeton | "my-api" |
exp | Expiration time (secondes Unix). Le jeton est invalide après cette limite. | 1893456000 |
nbf | Not-before - le jeton n'est pas valide avant cette heure | 1700000000 |
iat | Issued-at - quand le jeton a été créé | 1700000000 |
jti | JWT ID - identifiant unique (pour les listes de révocation) | "a1b2c3d4" |
Le décodage JWT en ligne est-il sûr ?
Décoder un JWT ne révèle pas la clé secrète. L'en-tête et la charge utile sont simplement encodés en Base64, non chiffrés - n'importe qui possédant le jeton peut les lire. La signature est ce qui prouve l'authenticité, et sa vérification nécessite la clé secrète (pour HMAC) ou la clé publique (pour RSA/ECDSA).
Cet outil s'exécute 100% dans votre navigateur. Vos jetons ne sont jamais transmis à nos serveurs, enregistrés ou stockés. Coller un jeton de production ici est sûr - mais traitez le jeton lui-même comme un mot de passe et renouvelez-le s'il a été exposé ailleurs.
🔒 100% Privé & Côté Client
Tout le décodage se fait directement dans votre navigateur. Vos jetons ne quittent jamais votre appareil - pas de traitement serveur, pas de journaux.
Foire aux Questions
Pourquoi mes revendications JWT sont-elles illisibles ?
Les charges utiles de JWT sont des objets JSON encodés en Base64URL. Pour un humain, cela ressemble à des caractères aléatoires, mais ce n'est pas chiffré - juste encodé. Cet outil décode le Base64 et affiche le JSON formaté.
Puis-je vérifier des signatures RS256 / ES256 ici ?
Pas encore - cette version prend en charge la vérification HMAC (HS256, HS384, HS512), qui utilise un secret partagé. Les vérifications RSA et ECDSA nécessitent une clé publique et seront ajoutées dans une mise à jour ultérieure.
Mon jeton indique "expiré" alors que je viens de le recevoir - pourquoi ?
Vérifiez l'horloge de votre système. La vérification de l'expiration compare le claim exp (timestamp Unix) avec l'heure locale de votre navigateur. Un décalage de quelques minutes suffit à invalider un jeton valide.
La signature est-elle décodée ?
La signature est affichée brute (encodée en Base64URL). Contrairement à l'en-tête et à la charge utile, ce n'est pas du JSON, mais une empreinte cryptographique de base64(en-tête).base64(charge utile) signée avec le secret ou la clé privée. Elle ne peut être "décodée" qu'en la vérifiant avec les données d'origine et la clé.
Cet outil stocke-t-il mes jetons ?
Non. Le décodage s'effectue entièrement dans votre navigateur via JavaScript. Rien n'est envoyé sur un serveur ou enregistré. Fermez l'onglet et votre jeton disparaît.