Outils en français / Décoder un JWT en ligne — claims et expiration, sans envoyer le tokenEnglish version →

Décoder un JWT en ligne — claims et expiration, sans envoyer le token

Un JWT comporte trois parties séparées par des points : header.payload.signature. Les deux premières ne sont que du base64url — quiconque détient le token peut les lire ; rien n'est chiffré. Cet outil décode les claims et convertit exp/iat en dates lisibles, en vous disant immédiatement si le token est expiré (cause n° 1 des erreurs 401).

Point crucial : le décodage se fait intégralement dans votre navigateur. Coller un token de production sur un site qui le traite côté serveur, c'est offrir une clé d'accès valide ; ici, il ne quitte pas votre machine. Cela dit, un token déjà exposé quelque part doit être considéré comme compromis et renouvelé.

Mode d'emploi

  1. Collez le JWT complet (retirez le préfixe « Bearer » s'il y en a un)
  2. Lisez le header, le payload et l'expiration convertie en date
  3. Pour vérifier la signature, enchaînez avec le JWT Signature Verifier

Questions fréquentes

Si tout le monde peut le lire, tout le monde peut le falsifier ?
Le lire, oui ; le falsifier avec succès, non : le serveur vérifie la signature avec sa clé, et modifier un seul caractère du payload l'invalide. La vraie leçon : aucun secret dans le payload, car il est public pour tout détenteur du token.
Pourquoi exp affiche 1970 ou une année absurde ?
L'émetteur a écrit des millisecondes au lieu de secondes (le standard JWT utilise les secondes depuis l'epoch). 13 chiffres = ms, 10 chiffres = secondes.
Mon token a 5 parties et ne se décode pas
C'est un JWE (JWT chiffré) : le payload est réellement chiffré, illisible sans la clé — contrairement au JWS à 3 parties, qui est seulement signé.