/ sécurité / jwt
Abonné
Thème: SystèmeContraste: Standard

Décodeur et vérificateur de JWT

Épingler à vos outils

Décodez un JSON Web Token, vérifiez son expiration et ses claims, et contrôlez sa signature avec un secret ou une clé publique.

Fonctionne entièrement dans votre navigateur. Ce que vous saisissez n’est jamais envoyé à nos serveurs.

Charge utile
jeton · 0 ligne
CollerOuvrir un fichierCtrl OEffacer

Charge utile

Affichage
charge utile · 0 ligne
TéléchargerCopierCtrl Shift C

Un secret pour HS256/384/512, une clé publique au format PEM (SPKI ou certificat) pour les autres, ou un JWK ou JWKS (la clé est choisie d’après le kid du jeton). La clé n’est jamais partagée ni enregistrée.

localtesté · v0.15.0 · 37 cas de test

historique · 0

Les saisies traitées apparaissent ici tant que cette page est ouverte. Recharger la page efface la liste.

Exemples de code

Copiez ces exemples dans votre propre projet. Chacun n'utilise que la bibliothèque standard du langage : il n'y a rien à installer.

Exemple

Marquez jusqu'à 3 langages d'une étoile pour les voir en premier sur chaque page d'outil.

Mettre JavaScript en favori
const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'

const payload = token.split('.')[1]
const json = Buffer.from(payload, 'base64url').toString('utf8')

console.log(JSON.stringify(JSON.parse(json), null, 2))

Ce que fait l’outil

Décodez un JSON Web Token pour lire son en-tête et sa charge utile, voir s’il a expiré, et vérifier sa signature avec un secret ou une clé publique. Le jeton est décodé dans votre navigateur, cette page n’affiche aucune publicité, et le jeton et la clé ne sont jamais partagés ni enregistrés.

Comment l’utiliser

  1. Collez le jeton. Un préfixe Bearer et les sauts de ligne sont ignorés.
  2. Lisez la charge utile en JSON formaté ou compact. En dessous, vous voyez l’algorithme, le statut, et les heures exp, nbf et iat avec leur écart par rapport à maintenant.
  3. Pour vérifier la signature, saisissez la clé : un secret pour HS256, HS384 et HS512, ou une clé publique (PEM ou JWK) pour RS, PS, ES et EdDSA.
  4. Basculez l’en-tête et la charge utile entre JSON et Claims : Claims liste chaque claim avec sa signification et affiche les claims de temps sous forme de dates.
  5. Ouvrez l’onglet Encoder pour écrire un en-tête et une charge utile et les signer avec un secret ou une clé privée (PEM PKCS#8 ou JWK). Rien sur cet onglet n’est enregistré, partagé ni ajouté à l’historique.

Exemples

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

La charge utile de ce jeton :

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

Sa signature se vérifie avec le secret your-256-bit-secret.

À savoir

  • Décoder n’est pas vérifier : la charge utile est seulement encodée, pas chiffrée, et n’importe qui peut la lire.
  • Votre serveur doit vérifier la signature avant de faire confiance à un claim.
  • Un jeton avec l’algorithme none n’est pas signé : n’importe qui a pu le fabriquer.
  • Traitez les jetons actifs comme des mots de passe. Préférez des jetons expirés ou de test quand vous en collez un ici.
  • Un JWKS collé est parcouru à la recherche du kid du jeton, et un JWK seul est utilisé tel quel. La page ne récupère jamais d’ensemble de clés auprès de l’émetteur du jeton.
  • Un secret HMAC plus court que son hachage (32, 48 ou 64 octets) peut être deviné : la page vous avertit. Un secret peut être lu comme du texte UTF-8 ou comme du Base64URL.

Qu'est-ce qu'un JWT ?

Un JSON Web Token est formé de trois parties Base64URL jointes par des points : un en-tête qui nomme l'algorithme de signature, une charge utile avec des claims (à qui le jeton est destiné, quand il expire) et une signature. N'importe qui peut lire les deux premières parties ; seule la signature prouve que le jeton vient de quelqu'un qui détient la clé.

Questions fréquentes

Décoder un jeton, est-ce le vérifier ?

Non. Décoder ne fait que lire le contenu, qui n'est pas chiffré. Vérifier contrôle la signature avec la clé, et votre serveur doit le faire avant de faire confiance à un claim.

Que signifient exp, nbf et iat ?

exp est l'instant d'expiration, nbf l'instant avant lequel le jeton n'est pas valide et iat l'instant d'émission, tous en secondes depuis 1970. Cet outil les compare à l'horloge de votre appareil.

Puis-je coller ici un vrai jeton sans risque ?

Le jeton est décodé dans votre navigateur et jamais envoyé à nos serveurs, et cette page n'affiche aucune publicité. Traitez tout de même les jetons actifs comme des mots de passe : préférez des jetons expirés ou de test.

Changelog de cet outil

Raccourcis clavier

Fermer

Partout

Rechercher des outils et des actions
Ctrl K
Afficher cette aide
?
Changer de thème
Ctrl Shift L
Épingler l'outil sélectionné (dans la recherche)
Ctrl P

Dans un outil

Envoyer le résultat vers la première suggestion
Ctrl ↵
Ouvrir un fichier dans l'entrée
Ctrl O
Copier le résultat
Ctrl Shift C
Fermer la rechercheesc
outilsEncodeur et décodeur Base64Encodez du texte en Base64 ou décodez du Base64 en texte, avec l’alphabet standard ou compatible URL.EncodageFormateur et validateur JSONFormater, minifier et valider du JSON, avec la ligne et la colonne exactes de chaque erreur.Mise en formeTesteur de regexTestez des expressions régulières JavaScript avec surlignage en direct, groupes de capture et explication en langage clair.TexteGénérateur d'UUID et d'ULIDGénérez des UUID v4, UUID v7 et ULID en masse, ou collez un identifiant pour voir sa version, sa variante et son horodatage.GénérateursConvertisseur de timestamp UnixConvertissez des timestamps Unix en dates et inversement, dans n'importe quel fuseau horaire, avec ISO 8601, RFC 2822 et le temps relatif.Date et heureGénérateur de hash et HMACCalculez des hash MD5, SHA-1, SHA-2, SHA-3, BLAKE2, BLAKE3 et CRC-32 d'un texte ou d'un fichier, avec HMAC en option.SécuritéGénérateur de mots de passe et testeur de robustesseGénérez des mots de passe, des phrases secrètes et des codes PIN aléatoires, ou vérifiez la robustesse d'un mot de passe.SécuritéDécodeur et vérificateur de JWTDécodez un JSON Web Token, vérifiez son expiration et ses claims, et contrôlez sa signature avec un secret ou une clé publique.SécuritéCalculateur CIDR et sous-réseaux IPCalculez la plage, le masque et la taille de réseaux IPv4 et IPv6, découpez-les en sous-réseaux et vérifiez ce qui contient ou chevauche quoi.RéseauExplicateur d'expressions cronLisez une expression cron en langage clair, voyez ses prochaines exécutions dans n'importe quel fuseau horaire et remettez-la sous sa forme standard.Date et heureTrier des lignesTriez des lignes de texte de A à Z ou de Z à A, dans l’ordre naturel (file2 avant file10), par point de code, par nombre ou par longueur.TexteSupprimer les lignes en doubleSupprimez les lignes en double d’une liste, gardez la première ou la dernière copie, ignorez la casse ou les espaces, ou retirez toute ligne répétée.TexteComparer des listes et du texteComparez deux listes ligne par ligne : trouvez ce qui est dans les deux, dans une seule ou dans l’une des deux, ou affichez un diff de lignes marqué côte à côte.TexteConvertisseur de casse et slugConvertissez un texte en camelCase, snake_case, kebab-case, Title Case et plus, ou transformez un titre en slug d’URL avec gestion des accents.TexteEncoder, décoder et analyser une URLEncodez et décodez du texte en pourcentage pour les URL, ou décomposez une URL en schéma, hôte, chemin et requête, et modifiez la requête comme un tableau.EncodageValidateurs : IBAN, BSN, TVA, carte, ISBNVérifiez un IBAN, un BSN néerlandais, un numéro de carte, un numéro de TVA UE, une adresse e-mail, une URL ou un ISBN, avec la raison en cas d’échec. Une valeur par ligne.ValidationEncoder et décoder des entités HTMLÉchappez du texte pour HTML avec des entités nommées, décimales ou hexadécimales, ou retransformez des entités comme & et é en caractères.EncodageÉchapper et déséchapper des chaînesÉchappez du texte pour une chaîne JSON ou JavaScript, une chaîne SQL, un champ CSV, une expression régulière ou un mot du shell, ou annulez l’échappement.EncodageClés de contrôle EAN, UPC et GTINVérifiez la clé de contrôle d’un EAN-8, EAN-13, UPC-A ou GTIN-14, ajoutez celle qui manque, lisez le pays dans le préfixe GS1 et convertissez ISBN-10 et EAN-13. Un code par ligne.ValidationGénérateur de données de testGénérez en masse des IBAN, BSN, codes EAN et numéros de TVA européens de test. Ils passent les contrôles, mais n’appartiennent à personne.GénérateursFormateur et minifieur SQLMettez en forme du SQL avec chaque clause sur sa ligne, ou minifiez-le sur une seule ligne, pour MySQL, PostgreSQL, SQLite, SQL Server et BigQuery.Mise en formeConvertisseur de base numériqueConvertit des nombres entre binaire, octal, décimal, hexadécimal et toute base de 2 à 36, avec grands nombres, complément à deux et vue des bits.EncodageConvertisseur YAML, TOML et JSONConvertissez entre JSON, YAML et TOML, ou validez et mettez en forme un document, avec la ligne et la colonne de chaque erreur.Mise en formeConvertisseur CSV et JSONConvertit du CSV en tableau JSON d’objets ou de tableaux, ou du JSON en CSV. Détecte le séparateur et lit les fichiers Excel français avec point-virgule et virgule décimale.DonnéesTesteur de glob et .gitignoreTestez des motifs glob et des règles .gitignore sur une liste de chemins et voyez quels chemins correspondent et quelle règle s’applique.TexteConvertisseur de couleursConvertissez une couleur entre HEX, RGB, HSL, HWB et OKLCH, vérifiez son contraste WCAG avec un fond ou créez-en une palette tonale Material 3.Mise en formeCalculateur chmodConvertissez les permissions de fichiers Unix entre octal (755), lettres (rwxr-xr-x), ls -l et clauses chmod, avec une grille de cases à cocher et les bits setuid, setgid et sticky.SécuritéAnalyseur de user-agentLisez une chaîne user-agent : navigateur, moteur, OS, type d’appareil et s’il s’agit d’un robot. Laissez vide pour lire votre propre navigateur.RéseauConvertir cURL en codeCollez une commande cURL et obtenez la même requête en fetch, Axios, Python requests, Go ou PHP. Rien n’est exécuté et rien n’est envoyé.RéseauAperçu MarkdownÉcrivez du Markdown et voyez-le rendu en direct, ou copiez le HTML. Le HTML brut est affiché comme texte et les liens sont vérifiés : rien dans l’aperçu ne peut s’exécuter.Mise en formeGénérateur de code-barres et de QR codeCrée un QR code, un EAN-13, UPC-A, Code 128, ITF-14 ou Data Matrix, télécharge-le en SVG ou PNG, ou lis un code dans une image.GénérateurspagesModificationsCe qui a changé à chaque versionpagesÀ proposCe qu’est codeknife.dev et qui le fabriquepagesIdéesProposez des améliorations et votez pour les idées des autres visiteurs.pagesConfidentialitéCe qui quitte votre navigateur et ce qui est enregistrépagesAccessibilitéConformité, limites connues et comment signaler un problèmepagesAbonnementSupprimer la publicité et relever les limitespagesactions