Skip to content

Guide

Alternatives à jwt.io : comparatif des décodeurs JWT en ligne

jwt.io est l’implémentation de référence. Utilisez un décodeur purement côté client quand le token contient de vraies informations d’identification.

By Published

Note de sécurité :Ne collez jamais un JWT contenant des identifiants de production, des tokens de session ou du matériel de clé privée dans un outil en ligne — y compris jwt.io et Convertitive. Pour les tokens avec de vraies informations d’identification, décodez localement en utilisant les exemples de ligne de commande dans la FAQ ci-dessous.

Les JWT (JSON Web Tokens) sont trois segments encodés en Base64url séparés par des points. L’en-tête et la charge utile ne sont pas chiffrés — ils sont lisibles par quiconque possède le token. Les décoder ne nécessite rien de plus qu’un décodage Base64url et une analyse JSON. La question n’est pas de savoir si vous pouvez le décoder, mais — et si l’outil que vous choisissez introduit un risque inutile.

Ce que jwt.io fait très bien

jwt.io est maintenu par Auth0 (maintenant Okta) et est ce que l’écosystème JWT a de plus proche d’un outil de référence officiel. Ses points forts sont substantiels :

  • Vérification de signature — collez un secret (HMAC) ou une clé publique (RSA, ECDSA, EdDSA) et jwt.io vérifiera si la signature du token est valide.
  • Couverture des algorithmes — HS256, HS384, HS512, RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384, PS512, et Ed25519/Ed448.
  • Conformité RFC— l’outil est maintenu par des personnes qui ont contribué aux spécifications JWT.
  • Liste de bibliothèques — le bas de jwt.io liste les bibliothèques JWT open-source pour plus de 30 langages avec des liens vers leurs dépôts.
  • Confiance de l’écosystème — les URLs jwt.io sont la norme de facto pour partager des explications de tokens dans la documentation et les réponses Stack Overflow.

La préoccupation liée à la confidentialité

jwt.io déclare fonctionner entièrement dans le navigateur. Auth0 a confirmé que les données des tokens ne sont pas envoyées à leurs serveurs lors du décodage. C’est presque certainement vrai pour l’opération principale de décodage-affichage.

Cependant, jwt.io charge des scripts JavaScript tiers — analytiques, surveillance — qui sont hors du contrôle d’Auth0 au niveau réseau. Des chercheurs en sécurité et des membres de la communauté ont soulevé cette préoccupation sur GitHub et dans des forums de sécurité : un script chargé depuis un CDN tiers pourrait, en principe, lire le DOM.

Le décodeur JWT de Convertitive est strictement côté client. La page ne contient pas de scripts analytiques qui lisent les champs de saisie, et aucune donnée de token ne quitte le navigateur. C’est une différence significative pour les tokens à faibles enjeux mais pas entièrement jetables — tokens de développement, identifiants de staging, JWT de démonstration.

Ce que le décodeur JWT de Convertitive ne fait pas

Convertitive ne prend pas en charge la vérification de signature, et c’est intentionnel.

La vérification de signature nécessite que vous fournissiez soit un secret partagé (HMAC) soit une clé publique (RSA/ECDSA). Entrer l’un ou l’autre dans un outil basé sur navigateur est un anti-pattern de sécurité : les secrets appartiennent aux gestionnaires de secrets, pas aux champs de saisie des navigateurs.

La RFC 7519 §10 aborde explicitement cela : « Les clés utilisées pour signer ou vérifier des JWT DOIVENT être gardées secrètes et NE DOIVENT PAS être partagées. » Si vous devez vérifier une signature JWT, utilisez directement la bibliothèque JWT de votre application, ou un script local.

Comparatif des fonctionnalités

Fonctionnalitéjwt.iotoken.devConvertitive
Décodage en-tête + charge utileOuiOuiOui
Vérification de signatureOui — tous les algorithmes majeursOui — HMAC et RSANon (par conception)
Affichage lisible de exp / iatOuiOuiOui
Scripts analytiques tiersOui (Auth0 / Okta analytics)MinimalNon
Données token envoyées au serveurNon (prétendu côté client)NonNon (vérifié côté client uniquement)
Liste de référence de bibliothèquesOui — 30+ langagesNonNon
Prise en charge JWE (token chiffré)NonNonNon
MainteneurAuth0 / OktaCommunautéConvertitive

Quand utiliser jwt.io

  • Vous devez vérifier une signature pendant le développement avec une clé de développement ou de test (jamais un secret de production).
  • Vous avez besoin de la liste de référence de bibliothèquespour choisir une implémentation JWT pour votre stack.
  • Vous voulez partager un lien vers une explication de token avec un collègue — les liens jwt.io sont universellement compris par les ingénieurs.
  • Vous déboguez un token de démonstration ou synthétiquesans vraies informations d’identification et voulez l’interface la plus complète.

Quand utiliser le décodeur JWT de Convertitive

  • Le token est un token de développement ou de stagingque vous ne voulez pas exposer à un script tiers, même à faible risque.
  • Vous avez seulement besoin de lire les claims de la charge utile— expiration, sujet, rôles — sans vérification de signature.
  • Vous auditez un format de token(vérification de l’algorithme d’en-tête, vérification des noms de claims) sans avoir besoin de l’ensemble des fonctionnalités de jwt.io.

Rappel de la structure JWT

Un JWT standard a trois composants séparés par des points :

  1. En-tête — JSON encodé en Base64url spécifiant le type de token (JWT) et l’algorithme de signature (alg).
  2. Charge utile — JSON encodé en Base64url contenant les claims. Les claims enregistrés incluent iss (émetteur),sub (sujet), aud (audience), exp(expiration) et iat (émis à).
  3. Signature— calculée sur l’en-tête + « . » + charge utile en utilisant l’algorithme et la clé spécifiés dans l’en-tête. Elle ne peut pas être décodée sans la clé.

Les parties 1 et 2 ne sont pas secrètes — elles sont seulement encodées, pas chiffrées. N’importe qui avec la chaîne de token peut lire l’en-tête et la charge utile.

Pour un guide technique approfondi, consultez notre guide de décodage de tokens JWT. Pour comprendre spécifiquement l’encodage Base64url, voir Base64 expliqué.

Le bilan honnête

jwt.io est le meilleur outil si vous avez besoin de vérification de signature ou si vous voulez l’expérience de référence JWT la plus complète. Il est maintenu par des personnes ayant une connaissance approfondie de la spécification JWT, et sa liste de bibliothèques est genuinement utile.

Le décodeur de Convertitive est le meilleur choix quand vous voulez garantir qu’aucun script tiers n’interagit avec votre token, ou quand vous avez seulement besoin d’inspecter l’en-tête et la charge utile sans la complexité de la vérification de signature. Il fait moins — délibérément.

Pour tout token contenant de vraies informations d’identification de production : n’utilisez ni l’un ni l’autre. Utilisez la ligne de commande.

Frequently asked questions

jwt.io peut-il vérifier une signature JWT ?
Oui — jwt.io prend en charge la vérification de signature. Vous collez votre token, sélectionnez l’algorithme, et fournissez un secret (pour HMAC) ou une clé publique (pour RSA/ECDSA). Le décodeur de Convertitive ne prend pas en charge la vérification de signature, par conception : entrer une clé de signature ou une clé privée dans n’importe quel outil basé sur navigateur est un anti-pattern de sécurité selon la RFC 7519 §10.
jwt.io envoie-t-il mon token aux serveurs Auth0 ?
jwt.io est présenté comme fonctionnant entièrement dans le navigateur. Auth0 (le mainteneur) indique qu’aucune requête serveur n’est effectuée pour le décodage. C’est presque certainement vrai pour l’opération principale de décodage-affichage. Cependant, jwt.io charge des scripts JavaScript tiers — analytiques, surveillance — qui sont hors du contrôle d’Auth0 au niveau réseau. Si le token contient des identifiants de production, utilisez un outil hors ligne.
Pourquoi Convertitive ne prend-il pas en charge la vérification de signature ?
La RFC 7519 §10 met explicitement en garde contre le partage des clés de signature. Un outil basé sur navigateur qui accepte un secret ou une clé privée normalise la pratique d’entrer des informations d’identification dans des formulaires web. Convertitive décode uniquement l’en-tête et la charge utile — la partie d’un JWT qui est toujours encodée en Base64url sans chiffrement et ne contient aucun secret de signature.
Un JWT est-il chiffré ?
Les JWT standard (JWS, JSON Web Signature) sont signés mais pas chiffrés — l’en-tête et la charge utile sont encodés en Base64url et visibles par quiconque détient le token. Les tokens JWE (JSON Web Encryption) sont chiffrés. Si votre token commence par eyJ et comporte trois parties séparées par des points, c’est un JWS et son en-tête et sa charge utile peuvent être décodés sans aucune clé.
Puis-je décoder un JWT en ligne de commande ?
Oui. Dans Node.js : node -e "const t='VOTRE_TOKEN'; console.log(JSON.parse(Buffer.from(t.split('.')[1],'base64url').toString()))". Avec jq et base64 : echo VOTRE_TOKEN | cut -d. -f2 | base64 -d | jq. Ces méthodes ne nécessitent aucune connexion réseau et sont l’approche recommandée pour les tokens contenant des informations d’identification de production.
Que signifie 'exp' dans une charge utile JWT ?
exp est le timestamp d’expiration POSIX défini dans la RFC 7519 §4.1.4. C’est un timestamp Unix (secondes depuis 1970-01-01T00:00:00Z). jwt.io et Convertitive l’affichent tous deux sous forme de datetime lisible par l’homme.

Related

Published May 31, 2026