JotTools .

Décodeur JWT

Décodeur JWT gratuit en ligne. Collez un jeton JSON Web Token pour lire son en-tête et sa charge utile en JSON propre. Tout se passe dans votre navigateur.

Ce que fait le décodeur JWT

Cet outil prend un jeton JSON Web Token et le divise instantanément en parties lisibles pour voir ce qu’il contient réellement. Collez un jeton et il affiche l’en-tête décodé (l’algorithme et le type de jeton) ainsi que la charge utile (les revendications comme le sujet, l’émetteur, l’expiration et tout champ personnalisé), chacun formaté en JSON propre et indenté. Pratique pour les développeurs back-end et front-end, les testeurs QA et toute personne qui débogue un flux d’authentification et doit confirmer ce que porte un jeton avant de lui faire confiance.

Une précision sur le périmètre, ce décodeur lit un jeton, il ne vérifie pas la signature. Décoder n’équivaut pas à valider, donc ne considérez jamais une charge utile décodée comme une preuve d’authenticité. Utilisez-le pour inspecter et dépanner, pas pour authentifier.

Comment utiliser le décodeur JWT

  1. Copiez votre JWT depuis votre application, vos journaux, le stockage du navigateur ou une réponse d’API.
  2. Collez-le dans la zone Entrée. Un jeton ressemble à trois blocs base64url reliés par des points, soit header.payload.signature.
  3. Le résultat décodé apparaît aussitôt dans la zone Résultat, avec le bloc HEADER et le bloc PAYLOAD en JSON lisible. Aucun bouton à presser.
  4. Cliquez sur Copier pour récupérer la sortie décodée et la coller dans un ticket, une note ou un commentaire de code.

Si vous voyez une erreur attendant un format header.payload.signature, le jeton est incomplet ou vous n’en avez collé qu’une partie. Vérifiez que les trois sections séparées par des points sont bien présentes.

Pourquoi décoder les JWT ici

Tout s’exécute dans votre navigateur. Le jeton est décodé avec du JavaScript local et n’est jamais envoyé ailleurs, ce qui compte beaucoup quand un jeton peut contenir des données personnelles ou accorder un accès. C’est donc privé par défaut, instantané, gratuit et sans inscription. Le résultat est joliment formaté pour que les horodatages et les revendications soient faciles à parcourir. Retrouvez d’autres utilitaires dans le hub outils pour développeurs.

Astuce : les champs exp et iat sont des horodatages Unix en secondes. Multipliez par 1000 pour les lire comme une date normale dans la plupart des langages, un moyen rapide de vérifier si un jeton a déjà expiré.

Questions fréquentes

Le décodeur JWT vérifie-t-il la signature du jeton ?
Non. Cet outil décode l'en-tête et la charge utile pour vous permettre de lire les revendications, mais il ne vérifie pas la signature. Décoder n'est pas valider, donc ne considérez pas une charge utile décodée comme une preuve d'authenticité. Vérifiez la signature sur votre serveur avec la clé de signature.
Mon jeton est-il envoyé à un serveur lors du décodage ?
Non. Le décodage se fait entièrement dans votre navigateur avec du JavaScript local. Le jeton ne quitte jamais votre appareil, ce qui est important car les JWT peuvent contenir des données personnelles ou des droits d'accès.
Pourquoi ai-je une erreur indiquant que ce n'est pas un JWT valide ?
Un JWT doit comporter trois sections base64url séparées par des points, soit header.payload.signature. Si vous avez collé seulement une partie du jeton ou une chaîne malformée, le décodeur ne trouve pas l'en-tête et la charge utile. Collez le jeton complet et réessayez.
Comment lire les champs exp et iat dans la charge utile ?
Ce sont des horodatages Unix exprimés en secondes. Multipliez la valeur par 1000 pour la convertir en millisecondes, puis formatez-la comme une date dans votre langue afin de voir quand le jeton a été émis ou quand il expire.