Décodeur JWT
Décodez un JSON Web Token et lisez son en-tête, sa charge utile et ses claims dans un format lisible, avec vérification immédiate de l'expiration. Le
Collez un JSON Web Token et lisez ses trois parties sous forme lisible : l'en-tête avec l'algorithme de signature, la charge utile avec les claims, et les horodatages lisibles pour l'émission, le début de validité et l'expiration. L'outil vous indique immédiatement si le jeton a expiré et quand il expirera.
C'est l'étape de débogage quotidienne lorsqu'une API renvoie un 401 et que vous devez savoir si le problème vient de la signature, de l'audience ou simplement d'un jeton expiré. Tout est décodé dans votre navigateur : les jetons de production ne sont donc jamais envoyés où que ce soit.
Comment décoder un JSON Web Token
Collez le jeton
Lisez l'en-tête, la charge utile et l'expiration
Copiez le JSON de la charge utile si vous en avez besoin
Questions fréquentes
Cet outil vérifie-t-il la signature ?
Non - et cela compte. Le décodage se contente de décoder les parties en base64url : le contenu est donc lisible, mais non prouvé authentique. Ne considérez jamais un jeton décodé comme fiable avant que votre serveur ait vérifié la signature.
Comment savoir si le jeton a expiré ?
La claim exp est un horodatage Unix en secondes et l'outil la compare à l'heure actuelle, en affichant la date et en indiquant si le jeton est encore valide.
Quelle est la différence entre exp, iat et nbf ?
iat est le moment où le jeton a été émis, nbf le moment le plus tôt où il peut être utilisé, et exp le moment où il cesse d'être valide. Un jeton n'est acceptable qu'entre nbf et exp.
Est-il sûr de coller un vrai jeton ici ?
Le décodage se fait entièrement dans votre navigateur : le jeton n'est donc pas transmis. Considérez malgré tout tout jeton comme un identifiant secret : ne le collez pas sur un site auquel vous ne faites pas confiance et renouvelez-le s'il a pu fuiter.
Pourquoi mon jeton affiche-t-il une erreur ?
Un JWT comporte exactement trois parties séparées par des points. Une partie manquante, un saut de ligne au milieu ou un jeton qui est en réalité un identifiant de session opaque seront tous signalés comme n'étant pas un JWT.
Mon jeton est-il envoyé ?
Non, le décodage est local.
En un coup d'œil
| Entrée | texte |
|---|---|
| Fichiers multiples | Non |
| Où ça tourne | Dans votre navigateur - les fichiers ne sont jamais envoyés |
| Fonctionne hors ligne | Oui — une fois la page chargée |
| Tarif | Gratuit, sans inscription, sans filigrane |
Manipuler des secrets sans risque
Les outils de développement traitent des identifiants bien plus souvent qu'on ne le croit, et le risque ne vient pas de l'algorithme mais de l'endroit où vont les données. Le hachage est à sens unique et n'est pas du chiffrement - MD5 et SHA-1 sont cassés pour tout usage de sécurité, et même SHA-256 n'est pas le bon outil pour stocker des mots de passe, là où bcrypt, scrypt ou Argon2 existent précisément pour être lents. Le Base64 est un encodage, pas une protection : n'importe qui peut le décoder, ne le prenez donc jamais pour de l'obfuscation. Un JWT peut être lu par quiconque le détient, c'est pourquoi sa charge utile ne doit jamais contenir de secrets, et décoder un jeton ne vérifie pas sa signature - la vérification exige la clé. Tout sur ce site s'exécute localement dans votre navigateur, et c'est précisément pour cela qu'il peut manipuler des jetons et des mots de passe en toute sécurité.
Où les conversions cassent sans bruit
La plupart des bugs de conversion ne portent pas sur la syntaxe mais sur le sens. Une colonne CSV de codes postaux perd ses zéros initiaux dès qu'un tableur devine qu'il s'agit d'un nombre ; un identifiant long dépasse la précision des nombres à virgule flottante ; les dates changent de sens selon qu'elles sont au format jour-mois ou mois-jour. Les clés JSON ne sont pas ordonnées, mais les tableaux le sont, et un outil qui trie les clés ne change rien tandis qu'un outil qui trie les tableaux modifie les données. L'Unicode est un autre piège : le texte peut arriver en UTF-8, en UTF-16 ou avec un BOM, et un décodeur qui se trompe transforme les caractères accentués en mojibake. Avant de faire confiance à une conversion, vérifiez par échantillon la première et la dernière ligne, tout champ à zéros initiaux et tout champ contenant des guillemets, des virgules ou des retours à la ligne.