Décodeur de jeton JWT
Collez un jeton JWT : en-tête, contenu et expiration s’affichent aussitôt, en clair. La signature n’est pas vérifiée.
Expiration
{
"alg": "HS256",
"typ": "JWT"
}{
"sub": "1291",
"name": "Guillaume Tell",
"email": "g.tell@exemple.ch",
"role": "admin",
"iat": 1790834400,
"exp": 1893456000,
"iss": "https://auth.exemple.ch"
}| Clé | Valeur | Sens |
|---|---|---|
sub | 1291 | Sujet : l’utilisateur ou le compte concerné. |
name | Guillaume Tell | – |
email | g.tell@exemple.ch | – |
role | admin | – |
iat | 1790834400 jeudi 1er octobre 2026 à 08:00:00 | Émis le : date de création du jeton. |
exp | 1893456000 mardi 1er janvier 2030 à 01:00:00 | Expiration : après cette date, le jeton doit être refusé. |
iss | https://auth.exemple.ch | Émetteur : le service qui a créé le jeton. |
Comment ça marche
Un JWT (JSON Web Token) est fait de trois parties séparées par des points : l’en-tête, qui dit comment le jeton est signé, le contenu (les revendications : qui, pour quoi, jusqu’à quand), et la signature. Les deux premières ne sont pas chiffrées : ce sont des objets JSON écrits en base64url, que l’outil décode simplement. Les dates exp, nbf et iat sont des secondes depuis le 1er janvier 1970 (UTC) ; elles s’affichent ici à l’heure de votre appareil.
La signature n’est pas vérifiée : il faudrait pour cela la clé secrète (HS256) ou la clé publique (RS256, ES256) de l’émetteur. Un jeton décodé ici peut donc avoir été fabriqué ou modifié : seul le serveur qui vérifie la signature peut lui faire confiance. Un en-tête "alg": "none" signale un jeton sans signature, à refuser partout.
| Clé | Sens |
|---|---|
iss | Émetteur : le service qui a créé le jeton. |
sub | Sujet : l’utilisateur ou le compte concerné. |
aud | Audience : le service auquel le jeton est destiné. |
exp | Expiration : après cette date, le jeton doit être refusé. |
nbf | Pas avant : le jeton n’est valable qu’à partir de cette date. |
iat | Émis le : date de création du jeton. |
jti | Identifiant unique du jeton, contre la réutilisation. |
azp | Partie autorisée : l’application cliente (OpenID Connect). |
scope | Permissions accordées (OAuth 2.0). |
auth_time | Date de l’authentification de l’utilisateur (OpenID Connect). |
nonce | Valeur unique liant le jeton à une demande de connexion (OpenID Connect). |
Exemple concret
Un jeton d’exemple, signé en HS256 avec la clé « hopcalc-exemple », pour un utilisateur fictif.
Le 15 octobre 2026 à 10 h, ce jeton est encore valable 1173 jours. N’importe qui peut le lire, mais changer « admin » en un autre rôle casserait la signature.
Questions fréquentes
Non, en général. Un JWT signé (JWS, le cas courant) est seulement encodé en base64url : tout le monde peut lire son contenu, comme le montre cet outil. La signature empêche de le modifier, pas de le lire. N’y mettez donc jamais de mot de passe ni de donnée sensible. Les jetons chiffrés (JWE) ont cinq parties et ne se lisent pas sans clé.
Regardez la revendication exp : c’est la date d’expiration, en secondes depuis le 1er janvier 1970. L’outil la convertit en date lisible et dit combien de temps il reste, ou depuis quand le jeton a expiré. S’il n’y a pas de exp, le jeton n’expire jamais de lui-même, ce qui est déconseillé.
HopCalc n’envoie ni ne garde le jeton : il est décodé dans votre navigateur. Mais un jeton de production encore valable donne accès au compte de son titulaire à qui le détient : évitez de le coller dans un outil en ligne, quel qu’il soit, et préférez un jeton de test ou expiré. En cas de doute, révoquez-le.
jwt.io décode aussi le jeton dans le navigateur et peut vérifier la signature si vous lui donnez la clé. Cet outil se limite au décodage, mais affiche les dates en français à l’heure de votre appareil, explique chaque revendication et dit en clair si le jeton est expiré. Pour vérifier une signature, utilisez la bibliothèque JWT de votre langage, côté serveur.
Source
Format : RFC 7519, « JSON Web Token (JWT) », dont les revendications enregistrées (§ 4.1) ; RFC 7515, « JSON Web Signature (JWS) » ; RFC 7516 pour les jetons chiffrés (JWE). Encodage : base64url, RFC 4648 § 5. Revendications OpenID Connect : OpenID Connect Core 1.0, § 2.
Outils proches
-
Encodeur et décodeur Base64Encoder ou décoder du Base64 : texte en UTF-8, fichiers et variante URL-safe.
-
Formateur et validateur JSONFormater, valider et minifier du JSON, avec l’erreur à la ligne près et un arbre repliable.
-
Générateur et traducteur d’expressions cronConstruire une expression cron, la lire en français et voir ses prochaines exécutions.