Côté client uniquement

Décodeur JWT

Collez un JWT pour inspecter son header, payload et claims. Le décodage se fait entièrement dans votre navigateur — votre token n'est jamais envoyé à un serveur.

Décodé localement dans votre navigateur. Rien n'est envoyé nulle part.

Décodé. Le token n'a pas de claim d'expiration.
sub
1234567890
iat
2018-01-18T01:30:22.000Z (1/18/2018, 1:30:22 AM)

Header

{
  "alg": "HS256",
  "typ": "JWT"
}

Payload

{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022
}

Signature

SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

Vérifier la signature requiert le secret ou la clé publique. Cet outil ne vérifie pas les signatures — il ne fait que décoder.

Qu'est-ce qu'un JWT ?

Un JSON Web Token (JWT) est une façon compacte et URL-safe de transmettre des claims entre deux parties. Il a trois parties — header, payload et signature — séparées par des points. Le header et le payload sont du JSON encodé en base64url. La signature est calculée avec l'algorithme spécifié dans le header et un secret ou une clé privée, permettant au destinataire de vérifier que le token n'a pas été altéré. Les JWT sont couramment utilisés pour l'authentification et l'échange d'informations dans les APIs REST.

Claims JWT courants

issIssuer (émetteur)

Qui a émis le token — généralement une URL identifiant le serveur d'auth.

subSubject (sujet)

De qui parle le token — généralement l'ID utilisateur.

audAudience

Pour qui le token est destiné — l'API ou service devant l'accepter.

expExpiration

Timestamp Unix après lequel le token ne doit plus être accepté.

nbfNot Before

Timestamp Unix avant lequel le token ne doit pas être accepté.

iatIssued At

Timestamp Unix lorsque le token a été émis.

jtiJWT ID

Identifiant unique du token — utile pour prévenir les attaques replay.

FAQ du décodeur JWT

Est-il sûr de coller mon JWT ici ?

Oui. Le décodage se fait entièrement dans votre navigateur en JavaScript — le token n'est jamais envoyé à notre serveur. Vous pouvez vérifier en ouvrant DevTools → Network pendant le décodage. Néanmoins, évitez de coller des tokens d'accès production dans un décodeur en ligne.

Cet outil vérifie-t-il la signature ?

Non. Vérifier la signature requiert le secret ou la clé publique, que vous ne devriez jamais coller dans un outil en ligne. Vérifiez les signatures dans votre backend avec la clé publique de l'émetteur (algorithmes asymétriques) ou votre secret partagé.

Quels algorithmes cet outil supporte-t-il ?

Tous. L'outil décode uniquement les parties JSON base64url, donc il marche avec n'importe quel algorithme de signature (HS256, RS256, ES256, EdDSA, etc.). L'algorithme est dans le header — cherchez le champ `alg`.

Pourquoi mon token est-il plus court que d'autres ?

La longueur d'un JWT dépend du contenu du payload (plus de claims = plus long) et de l'algorithme de signature (les signatures RSA sont plus longues que HMAC). Un token compact avec peu de claims signé en HS256 peut faire moins de 200 caractères. Les tokens avec beaucoup de claims ou signatures RSA dépassent souvent 500.

Quelle est la différence entre JWT et JWS/JWE ?

JWS (JSON Web Signature) est signé mais non chiffré — n'importe qui peut lire le payload. JWE (JSON Web Encryption) chiffre le payload. La plupart des "JWT" en production sont en fait des JWS — signés mais visibles. Cet outil décode des JWS. Les JWE chiffrés ne peuvent être décodés sans la clé de déchiffrement.