Aller au contenu
Gratuit, sans inscription, dans ton navigateur

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é

iat: 14 nov. 2023, 22:13:20 UTC

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 passe

exp, 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 Converter

Fonctionnement

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

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 support
Tu crées ton propre projet ?

Ton 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.

4,4/5 Trustpilot32 000+ Serveurs actifsDepuis 2010

Sans configuration. Sans risque. En ligne en quelques secondes.

Durée flexibleRésiliable à tout momentEn ligne en 60 secondes

Tu cherches d’autres outils ? Voir tous les outils de développement