Hilfe

JWT Decoder: Header, Payload und Ablauf eines Tokens lesen

Dieser JWT Decoder zerlegt ein JSON Web Token in Header und Payload und zeigt beide als eingerücktes JSON an, sobald du das Token einfügst. Zeitangaben wie exp bekommen daneben ein lesbares lokales Datum, und eine Anzeige sagt dir, ob das Token abgelaufen ist. Die Signatur zu prüfen ist optional. Das Token wird in deinem Browser gelesen und nie hochgeladen.


JWT Token dekodieren: Schritt für Schritt

  1. Füge das Token in das Feld JSON Web Token ein. Header und Payload erscheinen sofort, einen Dekodieren-Button gibt es nicht.
  2. Lies die Statusanzeigen über dem Ergebnis ab: ob das Token abgelaufen, noch nicht gültig oder ohne Ablauf ist und wie es um die Signatur steht.
  3. Mit Header kopieren oder Payload kopieren kopierst du den jeweiligen Block als reines JSON. Die Datumshinweise sind in der Kopie nicht enthalten.
  4. Mit Löschen leerst du das Feld für das nächste Token.

Zum JWT dekodieren kannst du das Token so einfügen, wie es kommt: Ein vorangestelltes „Authorization: Bearer“, Anführungszeichen drumherum und Zeilenumbrüche werden entfernt. Kopien aus einem Request-Header, einer Logzeile oder einer JSON-Antwort funktionieren also. Das Feld nimmt bis zu 100.000 Zeichen. Große Zahlen und Text in anderen Sprachen erscheinen in den Claims exakt, lange Werte werden umgebrochen.

Was der JWT Parser online in Header und Payload zeigt

Ein JWT besteht aus drei base64url-Teilen, die durch Punkte verbunden sind: header.payload.signature. Die ersten beiden sind nur kodiertes JSON. Deshalb lässt sich ein JWT ohne Secret dekodieren. Diese Claims siehst du am häufigsten:

Der Header enthält normalerweise alg (den Signaturalgorithmus), typ und manchmal kid, die ID des Schlüssels, der signiert hat.

JWT Token abgelaufen? So erkennst du es

exp, iat, nbf und auth_time sind Unix-Zeitstempel in Sekunden. Das Tool schreibt zu jedem das lokale Datum mit Uhrzeit neben die Zahl, sodass du nichts umrechnen musst. Die Anzeigen über dem Ergebnis nutzen die Uhr deines Geräts:

Signatur prüfen mit Secret oder öffentlichem Schlüssel

Dekodieren zeigt, was in einem Token steht. Erst die Signatur zeigt, dass es nicht verändert wurde. Unter dem Ergebnis findest du Signatur prüfen (optional). Lass Algorithmus auf der automatischen Erkennung, die alg aus dem Token liest, oder wähle selbst: HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512 oder EdDSA. Füge dann im Feld Secret oder öffentlicher Schlüssel einen Schlüssel ein:

Die Anzeige wechselt auf Signatur gültig oder Signatur ungültig. Ohne Schlüssel bleibt sie bei Signatur nicht geprüft. Sagt ein Token alg none, siehst du Keine Signatur: Dieses Token ist unsigniert. Fügst du einen privaten Schlüssel ein, lehnt das Tool ihn ab und bittet um den öffentlichen, denn nur der wird zum Prüfen gebraucht. Die Prüfung läuft über die WebCrypto deines Browsers, EdDSA braucht einen aktuellen Browser.

Wenn sich ein Token nicht dekodieren lässt

Die Fehlermeldung erscheint unter dem Feld und nennt den fehlerhaften Teil:

Ist es sicher, ein Token hier einzufügen?

Token und Schlüssel werden auf deinem Gerät dekodiert und geprüft. Nichts wird hochgeladen, nichts gespeichert, und ein Konto brauchst du nicht. Trotzdem ist ein aktives Access Token eine Zugangsberechtigung: Nimm nach Möglichkeit abgelaufene oder Test-Tokens.

Das Tool liest und prüft Tokens nur. Es erstellt oder signiert kein JWT und entschlüsselt kein JWE.


Häufige Fragen

Kann ich ein JWT ohne Secret dekodieren?

Ja. Header und Payload eines JWT sind nur base64url-kodiert, nicht verschlüsselt, also kann sie jeder lesen, der das Token hat. Füge es in das Feld „JSON Web Token“ ein, und beide erscheinen sofort. Das Secret oder der öffentliche Schlüssel wird nur für die Signaturprüfung gebraucht, die hier optional ist.

Wie prüfe ich, ob ein JWT abgelaufen ist?

Füge das Token ein und lies die Statusanzeige über dem Ergebnis ab. Sie nennt den Ablauf aus dem exp-Claim, entweder wie lange er her ist oder wie viel Zeit noch bleibt. Ohne exp-Claim steht dort „Kein Ablauf: Das Token hat keinen exp-Claim“, und liegt nbf noch in der Zukunft, zeigt sie, dass das Token noch nicht gültig ist.

Wie wandle ich den exp-Wert eines JWT in ein Datum um?

Das musst du nicht. exp ist ein Unix-Zeitstempel in Sekunden, und das Tool schreibt das passende lokale Datum mit Uhrzeit daneben in den Block „Payload“. Dasselbe gilt für iat, nbf und auth_time.

Wie prüfe ich eine JWT-Signatur mit einem öffentlichen Schlüssel?

Lass unter „Signatur prüfen (optional)“ den „Algorithmus“ auf der automatischen Erkennung oder wähle den, den das Token nutzt, und füge den öffentlichen Schlüssel bei „Secret oder öffentlicher Schlüssel“ ein. Ein PEM-Schlüssel (-----BEGIN PUBLIC KEY-----), ein RSA PUBLIC KEY, ein X.509-Zertifikat, ein JWK oder ein JWKS funktionieren. Danach steht dort „Signatur gültig“ oder „Signatur ungültig“.

Kann ich ein JWT lokal dekodieren, ohne es an einen Server zu senden?

Ja, genau so arbeitet dieses Tool. Das Token wird in deinem Browser zerlegt, dekodiert und geprüft, nichts wird hochgeladen oder gespeichert. Signaturprüfungen nutzen die WebCrypto des Browsers, es wird also weder ein Token noch ein Schlüssel irgendwohin gesendet.

Was steht im Header und in der Payload eines JWT?

Der Header beschreibt das Token, meist mit dem Signaturalgorithmus (alg), dem Typ (typ) und manchmal einer Schlüssel-ID (kid). Die Payload enthält die Claims, etwa wer es ausgestellt hat (iss), um wen es geht (sub), für wen es gedacht ist (aud) und wann es abläuft (exp). Beides ist reines JSON und steht in den Blöcken „Header“ und „Payload“.

Was bedeutet alg none in einem JWT?

Das Token erklärt sich selbst für unsigniert: Der Signaturteil ist leer, und es lässt sich nichts prüfen. Das Tool zeigt dann „Keine Signatur: Dieses Token ist unsigniert“. Ein Server sollte so ein Token nie als Identitätsnachweis akzeptieren.

Wie kann ich ein Bearer Token dekodieren?

Ist es ein JWT, füge es unverändert ein. Ein vorangestelltes „Authorization: Bearer“, Anführungszeichen und Zeilenumbrüche werden für dich entfernt, du kannst also direkt aus einem Request-Header oder einem Log kopieren. Ein undurchsichtiges Bearer Token, das nicht aus drei durch Punkte getrennten Teilen besteht, lässt sich nicht dekodieren, und das Tool nennt, wie viele Teile es gefunden hat.

Kann ich ein JWT Token entschlüsseln oder ein JWT hier erstellen und signieren?

Ein normales JWT musst du nicht entschlüsseln, denn Header und Payload sind nur kodiert und lassen sich ohne Schlüssel lesen. Ein Token mit fünf Teilen ist dagegen ein JWE, dessen Inhalt ohne den privaten Schlüssel nicht lesbar ist. Das Tool erkennt es und sagt das, statt einen Fehler zu zeigen. Tokens erstellen, signieren oder bearbeiten kann es nicht.

Empfohlen

Hilft, die Tools kostenlos zu halten. ✨

Symbolbilder. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.