QuickATools

Outils développeur · Free browser tool

Décodeur JWT

Décodez des JSON Web Tokens (JWT) instantanément côté client. Voyez header, payload et signature en sécurité avec humanisation des timestamps.

Encoded JWT

Paste a token — optional Bearer prefix is stripped.

DecodedSignature not verified

Timestamp humanizer

  • exp1893456000

    2030-01-01 00:00:00 · in 1236 days

    Active
  • iat1723000000

    2024-08-07 03:06:40 · 736 days ago

Header

JSON
{
  "alg": "HS256",
  "typ": "JWT"
}

Payload

JSON
{
  "sub": "1234567890",
  "name": "홍길동",
  "email": "user@example.com",
  "iat": 1723000000,
  "exp": 1893456000
}

Signature

Raw
signature-placeholder

Decoding does not prove authenticity. Verify signatures in your backend with the issuer's secret or public key.

Frequently Asked Questions

Quelles sont les trois parties d’un JWT, et que fait chacune ?

Un JWT est trois segments encodés Base64URL séparés par des points : Header.Payload.Signature. Le Header décrit le type de jeton et l’algorithme de signature (ex. HS256, RS256). Le Payload porte les claims — id utilisateur, rôles, expiry (exp), issued-at (iat), et tout champ personnalisé que votre API y met. La Signature est un sceau cryptographique sur les deux premières parties ; ce décodeur vous montre la chaîne de signature brute mais ne la vérifie pas, car la vérification exige le secret ou la clé publique.

Quelle est la différence entre décoder un JWT et le vérifier ?

Décoder ne fait que décoder Base64URL le header et le payload pour lire les claims — n’importe qui peut le faire sans clé, car les JWT sont signés, pas chiffrés. Vérifier contrôle que la signature correspond avec le secret ou la clé publique de l’émetteur, ce qui prouve que le jeton n’a pas été altéré et vient d’une partie de confiance. Cet outil est un décodeur pour le debug ; il ne prétendra jamais qu’un jeton est authentique sauf si vous vérifiez séparément la signature dans votre propre backend.

Comment lire les timestamps Unix comme exp, iat et nbf dans un JWT ?

Ces claims sont stockés en temps Unix en secondes depuis 1970-01-01 UTC. Cet outil détecte les clés de timestamp courantes (exp, iat, nbf, auth_time) et affiche la date/heure locale équivalente à côté de chaque valeur. Pour exp spécifiquement, il badge aussi le jeton comme Expired ou Active selon l’horloge actuelle du navigateur — utile pour repérer d’un coup d’œil un décalage d’horloge ou des jetons de staging périmés.

Pourquoi décoder les JWT en local plutôt que de les coller dans un debugger en ligne ?

Les JWT de production et staging contiennent souvent des ids utilisateur, e-mails, rôles ou autres PII dans le payload — et parfois les gens collent des jetons qui apparaissent aussi dans des en-têtes Authorization à côté de secrets. Un debugger serveur reçoit toute cette chaîne. Cet outil n’uploade jamais rien : décodage Base64URL, parsing JSON et formatage des timestamps tournent tous dans votre navigateur, donc les jetons sensibles restent sur votre machine.

Les JWT sont encodés, pas chiffrés — décodez-les en local

Un JSON Web Token paraît opaque, mais le header et le payload ne sont que du JSON encodé Base64URL. Quiconque détient la chaîne peut lire les claims sans clé secrète. C’est voulu — la signature prouve l’intégrité, pas la confidentialité — et c’est aussi pourquoi coller un jeton de production dans un debugger en ligne aléatoire est risqué. Ids utilisateur, e-mails, rôles et autres PII vivent souvent en clair dans le payload.

Ce décodeur n’envoie jamais votre jeton nulle part. Découpage des segments, décodage Base64URL (avec support UTF-8 complet pour les claims non latins), pretty-print JSON et humanisation des timestamps tournent tous dans votre navigateur. Utilisez-le pour inspecter des JWT staging ou production en déboguant des flux d’auth sans fuiter ces jetons — ni les secrets à côté dans un en-tête Authorization — vers un serveur tiers.

Rappelez-vous la limite dure de cet outil : il décode, il ne vérifie pas. Un payload qui a l’air valide peut encore être forgé si vous sautez les contrôles de signature. Vérifiez toujours les JWT dans votre backend avec le secret ou la clé publique de l’émetteur. Ici, l’humaniseur exp, iat et nbf aide simplement à lire l’état d’expiration d’un coup d’œil pendant le debug.

Utilitaires développeur liés sur ce site : nettoyez le JSON de claims imbriqués avec le Formateur et validateur JSON, inspectez d’autres payloads Base64 avec Encoder/décoder Base64, générez des ids de fixture avec le Générateur UUID/GUID, ou validez des motifs de parsing de claims dans le Testeur Regex.