Un JWT (JSON Web Token) est le format d’identifiant le plus courant pour l’authentification d’API. Il se compose de trois chaînes séparées par des points. L’en-tête indique l’algorithme de signature (HS256, RS256…) et le type. La charge utile (payload) contient des claims comme l’identifiant utilisateur, les rôles et l’expiration. La signature est calculée par le serveur sur les deux premières parties avec une clé et prouve qu’elles n’ont pas été modifiées. Les deux premières parties sont seulement encodées en Base64URL, pas chiffrées.
Collez un jeton et l’outil décode instantanément l’en-tête et le payload en JSON formaté, en affichant la signature telle quelle. Les claims temporels courants sont convertis en heure locale lisible : exp est l’expiration, iat la date d’émission et nbf le début de validité (le jeton ne doit pas être accepté avant). L’outil s’appuie aussi sur exp pour indiquer si le jeton a expiré. Pratique pour déboguer un parcours de connexion, vérifier des rôles ou comprendre pourquoi des utilisateurs sont sans cesse déconnectés.
Point essentiel : décoder n’est pas vérifier. L’outil ne contrôle pas la signature avec une clé, et n’importe qui peut forger un payload d’apparence légitime. Votre back-end doit vérifier la signature, l’algorithme et exp avec une bibliothèque fiable, et refuser les jetons dont alg vaut none. Et puisque tout le monde peut lire le payload, n’y mettez jamais de mot de passe, de numéro d’identité ni d’autre donnée sensible.
Un jeton est un identifiant de connexion : le coller sur un site inconnu revient à céder l’accès au compte. Cet outil décode entièrement dans votre navigateur et n’envoie ni n’enregistre jamais le jeton. Pour des systèmes en production, privilégiez tout de même des jetons expirés ou issus d’un environnement de test.