Aller au contenu
Recherche

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.

Ne collez pas un jeton de production encore valable : quiconque le détient peut se faire passer pour son titulaire. HopCalc n’envoie ni ne garde le jeton, décodé dans votre navigateur.

Expiration

En-tête (header)
{
  "alg": "HS256",
  "typ": "JWT"
}
Contenu (payload)
{
  "sub": "1291",
  "name": "Guillaume Tell",
  "email": "g.tell@exemple.ch",
  "role": "admin",
  "iat": 1790834400,
  "exp": 1893456000,
  "iss": "https://auth.exemple.ch"
}
Contenu, revendication par revendication
CléValeurSens
sub1291Sujet : l’utilisateur ou le compte concerné.
nameGuillaume Tell–
emailg.tell@exemple.ch–
roleadmin–
iat1790834400
jeudi 1er octobre 2026 à 08:00:00
Émis le : date de création du jeton.
exp1893456000
mardi 1er janvier 2030 à 01:00:00
Expiration : après cette date, le jeton doit être refusé.
isshttps://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.

Les revendications courantes
CléSens
issÉmetteur : le service qui a créé le jeton.
subSujet : l’utilisateur ou le compte concerné.
audAudience : le service auquel le jeton est destiné.
expExpiration : après cette date, le jeton doit être refusé.
nbfPas avant : le jeton n’est valable qu’à partir de cette date.
iatÉmis le : date de création du jeton.
jtiIdentifiant unique du jeton, contre la réutilisation.
azpPartie autorisée : l’application cliente (OpenID Connect).
scopePermissions accordées (OAuth 2.0).
auth_timeDate de l’authentification de l’utilisateur (OpenID Connect).
nonceValeur 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.

En-tête : {"alg":"HS256","typ":"JWT"}
sub 1291, Guillaume Tell, rôle admin
iat 1790834400 → jeudi 1er octobre 2026 à 08:00:00
exp 1893456000 → mardi 1er janvier 2030 à 01:00:00

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