Décodeur JWT et débogueur : décode et vérifie des tokens en ligne
Le décodeur et débogueur JWT gratuit affiche immédiatement l’en-tête et le payload de ton JSON Web Token en clair, ainsi que exp, iat et nbf sous forme de dates en UTC. Vérifie la signature avec un secret (HS256, HS384, HS512) ou une clé publique au format PEM « BEGIN PUBLIC KEY » (RS, PS, ES), modifie les claims et signe à nouveau le token en direct avec HS256, HS384 ou HS512. Tout se passe dans ton navigateur, sans aucun envoi de données.
Créé par Jakub Martyniak
Tu émets des jetons ? Exécute ton service d’authentification sur ton propre VPS.
Encodé (JWT)
Décodé
Pourquoi cet outil
Plus qu’un décodeur JWT : vérifie, modifie et signe
Tout ce qu’il te faut pour déboguer des JWT.
Décodage en direct
L’en-tête et le payload s’affichent immédiatement au format JSON dès que tu colles le token, sans cliquer sur un bouton.
exp, iat et nbf en clair
iat, nbf et exp sont affichés sous forme de dates en UTC. Pour exp, le temps restant ou écoulé est aussi indiqué. Une valeur exp dépassée apparaît en rouge.
Signer à nouveau avec HS256, HS384 ou HS512
Modifie l’en-tête ou le payload, notamment exp, les rôles ou tes propres claims, et obtiens en direct un nouveau token signé avec ton secret.
Vérifier les signatures RS, PS et ES
Vérifie les signatures RS256 à RS512, PS256 à PS512 et ES256 à ES512 avec une clé publique au format PEM « BEGIN PUBLIC KEY ».
Les grands nombres restent exacts
Les entiers supérieurs à 2^53, comme les identifiants Snowflake, ne sont pas arrondis lors du décodage ou de la nouvelle signature.
Fonctionne uniquement dans le navigateur
Le décodage, la signature et la vérification s’effectuent avec la Web Crypto API de ton navigateur, sans envoi de données.
Structure d’un JWT
Décoder un JWT ne signifie pas le vérifier
Un JSON Web Token se compose de trois parties encodées en Base64URL, séparées par des points : en-tête.payload.signature. L’en-tête et le payload ne sont pas chiffrés : tout le monde peut les lire. Seule la signature permet de vérifier que le token n’a pas été modifié.
En-tête
Contient l’algorithme (alg) et généralement le type (typ). Le champ alg permet à l’outil de déterminer s’il lui faut un secret ou une clé publique pour la vérification.
Payload
Contient les claims, comme sub, les rôles ou exp. Tu peux les lire à tout moment, mais ne leur fais confiance qu’après avoir vérifié la signature.
Signature
Elle est calculée à partir de l’en-tête et du payload. L’outil la vérifie avec ton secret (HS256, HS384, HS512) ou la clé publique (RS, PS, ES) et affiche « Valide » ou « Invalide ».
Cet outil ne génère pas lui-même de secret fort et aléatoire pour HS256, HS384 ou HS512.
Générer un secret avec le générateur de mots de passeexp, iat et nbf sont des horodatages Unix en secondes. Pour tes propres claims, tu dois utiliser la valeur numérique correspondante.
Convertir les horodatages avec Epoch ConverterFonctionnement
Fonctionnement du décodeur JWT
Cinq étapes pour passer du token collé à la signature vérifiée.
Étape 1
Coller un JWT
Colle ton JWT dans le champ « Encoded (JWT) » ou clique sur « Charger un exemple » pour tester avec un exemple de token HS256.
Étape 2
Lire l’en-tête et le payload
Dans la section « Decoded », l’en-tête et le payload s’affichent immédiatement au format JSON. exp, iat et nbf apparaissent au-dessus du payload sous forme de dates en UTC.
Étape 3
Vérifier la signature
Saisis le secret pour HS256, HS384 ou HS512, ou colle la clé publique au format PEM « BEGIN PUBLIC KEY » pour les tokens RS, PS et ES. « Valide » ou « Invalide » s’affiche alors en haut.
Étape 4
Modifier et signer à nouveau
Facultatif : modifie l’en-tête ou le payload, ou choisis HS256, HS384 ou HS512 comme algorithme. Un nouveau token signé avec ton secret est généré en direct dans le champ « Encoded (JWT) ».
Étape 5
Copier le résultat
Copie le token, l’en-tête ou le payload dans le presse-papiers avec le bouton correspondant.
En découvrir plus
Outils complémentaires pour les JWT et l’authentification
Encodeur/décodeur Base64
Encoder et décoder du texte en Base64, y compris avec une variante compatible avec les URL et des messages d’erreur clairs, entièrement dans le navigateur.
Créé par Jakub Martyniak
Convertisseur de timestamps Epoch/Unix
Convertis les horodatages Unix (secondes, millisecondes, microsecondes et nanosecondes) en dates lisibles et inversement. Inclut une horloge en direct, les formats ISO 8601/RFC 2822 et une indication relative du temps, entièrement dans le navigateur.
Créé par Jakub Martyniak
Générateur de mots de passe
Génère des mots de passe forts et aléatoires directement dans ton navigateur : rien n’est enregistré ni transmis.
Créé par Rugile Rutkauskaite
Formateur JSON
Formate, minifie et valide du JSON avec coloration syntaxique, affichage des erreurs et téléchargement, entièrement dans ton navigateur.
Créé par Jakub Martyniak
Générateur de hash (MD5, SHA-1, SHA-256, SHA-512)
NouveauGénère des hash MD5, SHA-1, SHA-256 et SHA-512 à partir de texte ou d’un fichier, et compare les sommes de contrôle. Fonctionne entièrement dans le navigateur.
Créé par Luca Stanek
Générateur d’UUID
Génère des UUID de versions 1, 4, 5 et 7, individuellement ou en masse, avec un format personnalisable, entièrement dans ton navigateur.
Créé par Jakub Martyniak
FAQ
Questions fréquentes sur le décodeur JWT
Des réponses courtes sur le décodage, la vérification de la signature, l’expiration et la confidentialité.
Oui. Le décodeur et débogueur JWT fonctionne directement sur cette page, dans ton navigateur, sans compte, sans inscription et sans installation.
Non. Le décodage, la signature et sa vérification s’effectuent exclusivement dans ton navigateur, à l’aide de la Web Crypto API pour la cryptographie. Le token, le secret et la clé publique ne sont pas envoyés. Les vrais JWT contiennent toutefois souvent des données d’accès à une session ou à une API : mieux vaut utiliser des tokens de test.
Oui. Un JWT n’est pas chiffré : l’en-tête et le payload sont simplement encodés en Base64URL et lisibles par tous. Le secret ou la clé publique ne sert qu’à vérifier la signature et, pour HS256, HS384 et HS512, à signer à nouveau. Décoder un token ne prouve donc pas son authenticité : seule la vérification de la signature le permet.
Pour HS256, HS384 et HS512, saisis le secret. Si l’en-tête indique RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384 ou ES512, un champ pour la clé publique au format PEM « BEGIN PUBLIC KEY » (SPKI) apparaît à la place. L’outil n’accepte pas RSA PUBLIC KEY (PKCS#1) ni les certificats. Le résultat s’affiche en haut : « Valide », « Invalide » ou « Non vérifié » si aucun secret ou clé n’est fourni. L’outil ne vérifie pas les autres algorithmes.
Si le payload contient exp, iat ou nbf sous forme numérique, l’outil affiche ces claims au-dessus du payload sous forme de dates en UTC. Pour exp, il indique le temps restant avant l’expiration du token ou le temps écoulé depuis son expiration ; une valeur exp dépassée apparaît en rouge. Si nbf est dans le futur, tu vois à partir de quand le token sera valide.
Oui. Modifie directement l’en-tête ou le payload, par exemple exp, les rôles ou tes propres claims, ou choisis un autre algorithme. Dès que tu effectues une modification, un nouveau token signé avec ton secret est généré en direct dans le champ « Encoded (JWT) ». La signature ne fonctionne qu’avec HS256, HS384 et HS512 : les algorithmes RS, PS et ES nécessiteraient une clé privée, que l’outil n’utilise pas.
Copie uniquement la partie après « Bearer » et colle-la. Le préfixe n’est pas supprimé automatiquement, et un JWT doit comporter exactement trois parties séparées par des points (en-tête.payload.signature). Avec le préfixe, l’en-tête ne peut pas être lu et l’outil affiche une erreur.
Un JWT se compose de trois parties encodées en Base64URL et séparées par des points : un en-tête (avec, par exemple, alg et typ), un payload contenant les claims et une signature. L’exemple prérempli montre cette structure : un token HS256 avec sub, name et iat, vérifié comme « Valide » avec le secret d’exemple.
D’autres questions ?
Contacter le supportTon API a besoin d’un serveur fiable pour émettre ses tokens
Un VPS ZAP-Hosting met ton application ou ton projet en ligne de manière fiable.
Sans configuration. Sans risque. En ligne en quelques secondes.
Tu cherches d’autres outils ? Voir tous les outils de développement
