JWT-Decoder
JWT dekodieren: Header und Payload lesen, exp, iat und nbf als Datum anzeigen und HS256-, RS256-, PS256-, ES256- oder EdDSA-Signaturen lokal im Browser prüfen.
Tokens sind Zugangsdaten. Dieses Tool dekodiert und prüft sie in Ihrem Browser und sendet sie nirgendwohin.
Header
Payload
| Claim | Wert | Datum | Status |
|---|
- Algorithmus (alg)
- —
- Signatur (Base64url)
- —
Signatur prüfen
HS256/384/512: Geben Sie das gemeinsame Secret ein. RS, PS, ES (256/384/512) und EdDSA: Fügen Sie den öffentlichen Schlüssel als PEM (Public Key, RSA Public Key oder Zertifikat) oder als JWK ein (bei einem JWK Set wird der Schlüssel über kid gewählt).
So dekodieren Sie ein JWT
- Fügen Sie das Token in das Feld „JSON Web Token“ ein. Auch ein kompletter
Authorization: Bearer …-Wert funktioniert: Das PräfixBearerund eventuelle Zeilenumbrüche werden entfernt. - Das Token wird schon beim Tippen dekodiert (oder per Klick auf „Dekodieren“). „Header“ und „Payload“ erscheinen als formatiertes JSON, jeweils mit eigener „Kopieren“-Schaltfläche.
- Lesen Sie die Tabelle „Zeit-Claims“:
exp,nbfundiatwerden mit Rohwert, Datum in Ihrer Zeitzone, relativer Zeit („in 3 Stunden“, „vor 2 Tagen“) und einem Status wie „Abgelaufen“ oder „Noch nicht gültig“ angezeigt. - Beachten Sie die Warnungen über den Ergebnissen, etwa wenn
algden Wertnonehat oder ein Datum nach Millisekunden aussieht. - Um die Signatur zu prüfen, tragen Sie unter „Signatur prüfen“ den Schlüssel ein und klicken Sie auf die Schaltfläche „Signatur prüfen“.
Dekodieren ist nicht Verifizieren
Ein JWT besteht aus drei Base64url-Teilen, getrennt durch Punkte: header.payload.signature. Header und Payload sind nur kodiert, nicht verschlüsselt. Wer das Token besitzt, kann sie also lesen, und dieses Tool dekodiert jedes Token ohne Schlüssel. Das heißt aber auch: Eine dekodierte Payload beweist nichts, denn jemand könnte sie verändert haben. Erst eine gültige Signatur zeigt, dass das Token vom Inhaber des Schlüssels ausgestellt und seitdem nicht verändert wurde. Deshalb lautet die Statuszeile „Dekodiert (Signatur nicht geprüft).“, bis Sie die Signatur geprüft haben.
Ein Token mit fünf Teilen ist ein JWE (verschlüsseltes JWT). Sein Inhalt lässt sich ohne den Entschlüsselungsschlüssel nicht lesen, und das Tool weist Sie darauf hin.
Die Signatur prüfen
- HS256, HS384, HS512 (HMAC): Geben Sie das gemeinsame „Secret“ ein. Unter „Secret-Format“ legen Sie fest, ob es sich um Klartext (UTF-8) oder Base64/Base64url handelt – manche Anbieter speichern Secrets in Base64. Sie können auch ein JWK vom Typ
octeinfügen. Ist das Secret kürzer als die Hash-Ausgabe (32 Byte bei HS256), weist das Tool darauf hin, dass es unter dem Minimum von RFC 7518 liegt. - RS256/384/512, PS256/384/512, ES256/384/512 und EdDSA: Fügen Sie den „Öffentlichen Schlüssel (PEM oder JWK)“ ein. Akzeptiert werden die PEM-Blöcke
PUBLIC KEY,RSA PUBLIC KEYundCERTIFICATE(dann wird der Schlüssel aus dem X.509-Zertifikat gelesen). Auch ein JWK oder ein ganzes JWK Set funktioniert: Verwendet wird der Schlüssel, dessenkidzum Header passt. Private Schlüssel werden abgelehnt, denn zum Prüfen braucht man nie einen. EdDSA unterstützt Ed25519 in Browsern, deren Web Crypto es implementiert.
Die Prüfung nutzt die Web-Crypto-API des Browsers. Das Ergebnis „Ungültige Signatur“ bedeutet: falscher Schlüssel oder verändertes Token. Beachten Sie, dass der Algorithmus hier aus dem Token-Header übernommen wird. Ein echter Server muss den erwarteten Algorithmus dagegen fest konfigurieren, sonst kann ein Angreifer ihn selbst wählen.
Sicherheitshinweise
- Tokens sind Zugangsdaten. Wer ein gültiges Access Token besitzt, kann meist bis zu dessen Ablauf im Namen des Inhabers handeln. Dieses Tool dekodiert und prüft alles in Ihrem Browser und sendet weder Token noch Schlüssel irgendwohin. Fügen Sie Produktions-Tokens trotzdem nicht in Tools ein, die Sie nicht überprüfen können.
alg: nonebedeutet, dass das Token nicht signiert ist. Jeder kann es fälschen, und ein Server muss es ablehnen. Das Tool zeigt eine Warnung und weigert sich, ein solches Token zu „verifizieren“.- Zeitprüfungen verwenden hier die Uhr Ihres Computers ohne Toleranz; Server erlauben oft ein bis zwei Minuten Abweichung.
- JWT-Daten (NumericDate) sind Sekunden seit dem 1. Januar 1970 UTC. Ein 13-stelliger Wert ist vermutlich in Millisekunden angegeben – ein häufiger Fehler.
Häufige Fragen
Sagt mir das Tool, ob ein Token gültig ist?
Es sagt Ihnen, ob die Signatur zu einem von Ihnen angegebenen Schlüssel passt und ob exp und nbf im Moment erfüllt sind. Ob ein Token akzeptiert wird, hängt aber auch von Prüfungen ab, die nur der Server kennt: erwarteter Aussteller (iss), Zielgruppe (aud), Algorithmus und Widerruf.
Warum schlägt die Prüfung trotz richtigem Secret fehl?
Prüfen Sie das „Secret-Format“: Ein Base64-Secret, das als Text eingegeben wird, ergibt einen anderen Schlüssel. Achten Sie auch darauf, dass kein Leerzeichen oder Zeilenumbruch hinzugekommen ist, denn HMAC-Schlüssel werden Byte für Byte verglichen.
Was ist der Unterschied zwischen RS256, PS256 und ES256?
Alle drei sind Public-Key-Signaturen mit SHA-256. RS256 verwendet RSA mit PKCS#1-v1.5-Padding, PS256 RSA mit PSS-Padding und ES256 ECDSA auf der Kurve P-256, was deutlich kürzere Signaturen ergibt.
Wo finde ich den öffentlichen Schlüssel eines Anbieters?
Identity Provider veröffentlichen ein JWKS (JSON Web Key Set), meist verlinkt unter jwks_uri in /.well-known/openid-configuration. Öffnen Sie es selbst und fügen Sie das JSON hier ein; das Tool wählt den Schlüssel anhand von kid und lädt selbst nichts aus dem Netz.
Kann ich mein Token hier bedenkenlos einfügen?
Das Token bleibt auf Ihrem Gerät: Dekodieren und Prüfen finden lokal statt, nichts wird hochgeladen. Wenn Sie ganz vorsichtig sein wollen, nehmen Sie ein abgelaufenes oder ein Test-Token, sofern Sie nur die Struktur ansehen möchten.
Ähnliche Tools
- HMAC-Generator HMAC-SHA1, SHA-256, SHA-384 oder SHA-512 mit Text-, Hex- oder Base64-Schlüssel berechnen, als Hex und Base64 ausgeben und Webhook-Signaturen im Browser prüfen.
- Base64 kodieren und dekodieren Kostenloser Base64-Encoder und -Decoder mit voller UTF-8-Unterstützung und URL-sicherer base64url-Option. Läuft komplett im Browser, nichts wird hochgeladen.
- Unix-Timestamp-Umrechner Unix-Timestamps in Sekunden oder Millisekunden in lesbare Daten umrechnen – Ortszeit, UTC und ISO 8601 – und jedes Datum zurück in Epoch-Zeit verwandeln.
- JSON-Formatierer und -Validator Kostenloser JSON-Formatierer und Validator: JSON im Browser formatieren, minifizieren und prüfen – Syntaxfehler mit Zeile und Spalte.