Décodeur JWT

Décodeur JWT

Décodez et inspectez des JSON Web Tokens instantanément — visualisez l'en-tête, le payload, vérifiez les signatures HMAC et générez du code JWT en PHP...

Mis à jour mai 2026

Vérifié par Rafael Duarte

ENCODÉ
DÉCODÉ

Collez un token JWT à gauche pour le décoder

GÉNÉRER DU CODE JWT
Langage
Algorithme
javascript
 1const jwt = require('jsonwebtoken');
 2
 3const secretKey = 'your-256-bit-secret';
 4
 5const payload = {
 6  sub: '1234567890',
 7  name: 'John Doe',
 8  iat: Math.floor(Date.now() / 1000)
 9};
10
11const token = jwt.sign(payload, secretKey, { algorithm: 'HS256' });
12console.log(token);
13
14// To verify:
15const decoded = jwt.verify(token, secretKey, { algorithms: ['HS256'] });
16console.log(decoded);

Comment décoder un JWT

Décodez, vérifiez la signature et générez du code

1. Collez le token

Les trois parties s'affichent en couleur — header en rose, payload en violet, signature en cyan.

2. Inspectez les claims

`iat`, `exp` et `nbf` sont convertis automatiquement en dates lisibles — repérez l'expiration d'un coup d'œil.

3. Vérifiez la signature

Pour HS256/384/512, entrez le secret et obtenez un badge vert ou rouge de confirmation.

Ce que fait cet outil

Un débogueur JWT complet

Décodage instantané

Header, payload et signature mis en évidence par couleur, sans la moindre clé nécessaire.

Timestamps lisibles

exp, iat, nbf convertis automatiquement en date ISO — sans calcul manuel.

Vérification HMAC

HS256, HS384, HS512 vérifiés directement dans le navigateur avec votre clé secrète.

Génération de code

Extraits de code prêts à l'emploi en JavaScript, PHP, Python et Java pour signer des tokens dans votre projet.

HMAC et RSA dans le générateur

Modèles pour HS256/384/512 avec clé secrète et RS256/384/512 avec paire de clés publique/privée.

Raccourci clavier

Appuyez sur Shift+Entrée n'importe où sur la page pour copier le payload sans toucher la souris.

Exemples de décodage

Situation
Ce que montre l'outil
Token de référence de jwt.io
`alg: HS256`, `sub`, `name`, `iat` — sans `exp` défini
Token expiré (`exp` dans le passé)
Date d'expiration affichée à côté de la valeur Unix brute
Token mal formé (2 parties)
Erreur : "Format attendu : header.payload.signature"
Token `alg: none`
Décode normalement, vérification marquée comme "non supportée"
Token avec `alg: RS256`
Décode normalement ; la vérification demande une clé publique, car seuls HS256/384/512 sont vérifiés dans le navigateur

Quand vous allez utiliser cet outil

Les scénarios les plus fréquents chez les personnes qui utilisent cet outil

Déboguer une erreur 401 Unauthorized

Vérifiez exp, aud et l'algorithme avant d'écrire la moindre ligne de code.

Audit de sécurité

Confirmez qu'aucune donnée sensible ne fuite via les claims du payload.

Test d'intégration

Vérifiez les claims attendues, le TTL (exp − iat) et l'algorithme avant d'écrire vos tests.

Vérification de signature

Confirmez qu'un token a bien été signé avec le secret attendu entre deux services.

Apprendre la structure d'un JWT

Vue éclatée et colorée des trois parties, idéale sans avoir à lire la RFC.

Génération de code de signature

Des extraits prêts à l'emploi évitent de chercher les bonnes méthodes de chaque bibliothèque.

Erreurs fréquentes avec les JWT

Confondre décoder et vérifier

Décoder lit le payload sans vérifier la signature. Un token peut se décoder parfaitement et être malgré tout falsifié.

Stocker un JWT dans le localStorage

Accessible par n'importe quel JavaScript de la page — une faille XSS vole alors tous les tokens actifs.

Ne pas vérifier la claim `exp`

Un token volé reste valide indéfiniment. 15 minutes est la bonne pratique de 2026, avec un refresh token.

Données sensibles dans le payload

C'est seulement du Base64URL, pas du chiffrement. Ne mettez jamais de mot de passe, numéro de carte ou données personnelles dans un payload JWT.

Accepter `alg: none` en production

Un token avec alg: none n'a aucune signature. Les bibliothèques modernes le rejettent par défaut, mais cela vaut la peine d'auditer toute validation JWT manuelle écrite avant 2020.

Penser pouvoir vérifier RS256 avec le token seul

Les algorithmes asymétriques (RS/ES) nécessitent la clé publique pour la vérification — le navigateur n'a aucun moyen de l'extraire seul du token.

Pourquoi utiliser cet outil

Au-delà du simple décodage, cet outil vérifie les signatures HMAC directement dans le navigateur et génère du code prêt à l'emploi dans quatre langages — un vrai débogueur, pas juste un lecteur de payload.

Tout s'exécute localement via l'API Web Crypto. Votre token et votre secret ne quittent jamais votre appareil, même lors de la vérification de signature.

C'est gratuit, sans inscription et sans limite de tokens — collez-en autant que nécessaire. Shift+Entrée copie le payload décodé directement dans le presse-papiers, sans quitter le clavier.

Questions fréquentes

Le payload est simplement encodé en Base64URL, pas chiffré. N'importe qui disposant de la chaîne du token peut le décoder et le lire sans clé. La signature prouve seulement qui l'a émis — elle ne dissimule pas le contenu.

Ressources

Article associé

OAuth 2.0 explicado sem complicação

Outils connexes