Débogueur / décodeur JWT

Collez n’importe quel JWT pour décoder ses trois parties séparées par des points — l’en-tête, la charge utile et la signature en base64url sont affichés en JSON mis en forme, avec les revendications enregistrées (exp, iat, nbf et compagnie) converties en heure locale. Vous pouvez ensuite vérifier la signature avec l’API WebCrypto : HMAC (HS256/384/512) avec un secret, ou RSA/ECDSA (RS256/384/512, ES256/384/512) avec une clé publique PEM. Un jeton HS256 d’exemple est accessible en un clic pour vos essais. Tout s’exécute localement — les jetons, secrets et clés ne sont jamais envoyés nulle part.
Jeton JWT Format : en-tête.charge.signature (trois segments base64url).
Avertissement : ce jeton déclare alg:none, ce qui signifie qu’il n’est pas signé. Les services réels doivent rejeter les jetons non signés — considérez-le comme non fiable.
RevendicationValeurInterprétation
Secret
crypto.subtle n’est pas disponible dans ce contexte, la vérification de signature est donc désactivée. Ouvrez la page en https: ou depuis un fichier local pour l’activer. Le décodage fonctionne toujours.
Comment lire le résultat : l’en-tête contient généralement alg (l’algorithme de signature) et typ. Les revendications enregistrées affichées avec conversion en heure locale sont iat (émis le), nbf (pas avant) et exp (expiration) — un badge rouge signifie que le jeton a expiré, un badge orange signifie qu’il expire dans les 24 heures. La vérification de signature calcule le même MAC que l’émetteur, ou contrôle la clé publique RSA/ECDSA que vous collez, puis marque le jeton VALIDE ou INVALIDE. Seuls les algorithmes implémentés par la couche WebCrypto du navigateur peuvent être vérifiés ; les autres sont signalés comme non pris en charge plutôt que devinés.

Revendications enregistrées courantes : sub (sujet) est l’utilisateur ou l’entité concerné par le jeton — dans votre exemple, ce n’est qu’un identifiant numérique, mais les services y placent souvent un e-mail, un nom d’utilisateur ou un UUID. iss désigne l’émetteur, aud désigne le public visé, et jti est un identifiant unique de jeton utilisé pour empêcher le rejeu. Ces revendications ne sont pas chiffrées : quiconque possède le jeton peut les lire, ne mettez donc jamais de mots de passe ni de secrets dans la charge utile d’un JWT.

Confidentialité : le décodage et la vérification se font entièrement dans cette page avec l’API WebCrypto — le jeton, votre secret et toute clé publique ne sont jamais transmis. Pour un jeton alg:none, la page affiche un avertissement clair : une API réelle ne devrait jamais accepter un jeton non signé.