JWT decoder

Lisez l’en-tête et la charge utile JSON d’un JWT sans transmettre le jeton.

Consultez l’en-tête et le payload d’un JWT dans votre navigateur. Le décodage ne vérifie pas la signature et ne prouve pas la validité du jeton.

Vos données restent iciPUFFINMINT

Configurez vos données

Configurez vos données

Collez un JWT compact à trois parties. Cet outil décode le contenu : il NE vérifie PAS la signature et N’authentifie PAS le jeton.

Résultat

Saisissez les données et lancez l’outil. Le résultat apparaîtra ici.

Les valeurs saisies restent sur cette page. Elles sont effacées lorsque vous l’actualisez ou la fermez.

Nous comptons les outils les plus utilisés, sans inclure les valeurs saisies ni le contenu des fichiers dans les statistiques. Confidentialité

Quand utiliser un décodeur JWT

Cet outil aide à examiner les champs d’un jeton lors du débogage d’une application ou d’une intégration. Un JWT signé peut avoir un payload lisible : encodage base64url et chiffrement sont deux opérations différentes.

Décoder le jeton étape par étape

  1. Collez le jeton seul, sans le préfixe Bearer.
  2. Lancez le décodage pour consulter les deux objets JSON.
  3. Comparez les claims aux attentes de l’application ; utilisez le convertisseur timestamp en secondes pour lire exp.

Lecture de l’en-tête et du payload

Le moteur attend trois parties séparées par des points. Il décode l’en-tête et le payload de base64url en UTF-8, vérifie qu’il s’agit d’objets JSON et les met en forme. La troisième partie n’est pas vérifiée ; une signature vide peut être acceptée syntaxiquement.

Interpréter des claims non vérifiés

Le résultat contient header et payload. Les valeurs sont des déclarations du jeton et peuvent avoir été modifiées. Une date exp lisible ne garantit ni authenticité ni autorisation.

Claims déclarés dans le payload
ChampSens général
subIdentifiant du sujet
expExpiration déclarée en secondes Unix
iss / audÉmetteur et destinataire prévus

Exemple avec un jeton de démonstration

Un jeton non signé pour comprendre le format

Données saisies
eyJhbGciOiJub25lIn0.eyJzdWIiOiJkZW1vIiwiZXhwIjoxNzA0MDY3MjAwfQ.
Résultat
{"header":{"alg":"none"},"payload":{"sub":"demo","exp":1704067200}}

L’exemple utilise alg=none et une signature vide. Il affiche sub=demo et exp=1704067200, soit le 1er janvier 2024 à 00:00 UTC. Le décodeur affiche cette valeur sans décider si le jeton a expiré.

Limites et contrôles non effectués

La limite est de 16 000 caractères. Les JWE chiffrés en cinq parties et les payloads qui ne sont pas des objets JSON ne sont pas pris en charge. Les valeurs restent dans la page jusqu’au rechargement et ne sont pas envoyées au service de conversion. Le HTML des claims est affiché comme texte, sans être exécuté.

Sources et documentation

Questions fréquentes

Un résultat lisible permet-il d’autoriser un accès ?

Non. L’application doit vérifier signature, algorithme autorisé, émetteur, destinataire et contraintes temporelles selon son protocole. Ce décodeur n’effectue pas ces contrôles.

Pourquoi un jeton chiffré ne s’ouvre-t-il pas ?

Un JWE nécessite un déchiffrement et les clés appropriées. Cet outil lit uniquement le format compact en trois parties et ne déchiffre pas les jetons.

Favoris