JWT Decoder
Header und Payload eines JSON Web Tokens dekodieren. Verarbeitung läuft komplett im Browser. Der Token wird nicht übertragen.
So funktioniert das Tool
JSON Web Tokens (JWT) sind dreiteilige Base64URL-codierte Strings, die Authentifizierungs-Informationen tragen - Issuer, Subject (Nutzer-ID), Ablaufdatum, Rollen, Custom-Claims. Unser Decoder zerlegt einen JWT in Header (Algorithmus + Typ), Payload (Claims) und Signatur, dekodiert die ersten beiden Teile als JSON und zeigt sie eingerückt an. Die Signatur wird angezeigt, aber NICHT verifiziert - dafür bräuchten wir deinen Secret oder Public Key. Der ganze Vorgang läuft lokal, dein Token verlässt nie den Browser.
Typische Anwendungsfälle
Token-Inhalt während Debugging prüfen
Ein OAuth-Callback wirft 401 zurück - schnell den JWT aus dem Authorization-Header ziehen und sehen, ob sub, exp und scope wie erwartet aussehen.
Ablaufdatum eines Refresh-Tokens checken
Du hast einen Long-Lived-Token (z. B. von Threads, X oder Google) gespeichert und willst wissen, wann er expired - exp ist Unix-Timestamp.
Custom-Claims dokumentieren
Beim Bauen einer neuen API willst du wissen, welche Claims dein Auth-Provider (Auth0, Clerk, Keycloak) tatsächlich mitschickt - Decoder zeigt alles.
Issuer + Audience cross-checken
Bei Multi-Tenant-Setups: prüfen, dass iss und aud zum erwarteten Tenant gehören, bevor du einen Bug beim Backend-Vendor öffnest.
FAQ
Häufige Fragen
Verifiziert das Tool die Signatur?
Nein. Signatur-Verifizierung braucht das Secret (HMAC) oder den Public Key (RSA/ECDSA) des Issuers - die geben wir bewusst nicht hier ein, weil das genau die Daten sind, die du niemals an einen Drittanbieter geben solltest. Die Verifizierung gehört in dein Backend, nicht in einen Debug-Helfer.
Wird der JWT irgendwo gespeichert?
Nein. Das Dekodieren passiert via atob (Base64URL) und JSON.parse im Browser. Wir loggen, übermitteln oder cachen den Token nicht - auch nicht im Browser-localStorage. Sobald du die Seite schließt, ist der Inhalt weg.
Was bedeutet die Warnung „Token expired”?
Wenn der Claim exp (Expiration Time, Unix-Sekunden) kleiner als die aktuelle Zeit ist, gilt der Token als abgelaufen. Server lehnen ihn dann ab. Manchmal ist auch nbf (Not Before) ein Stolperstein, wenn der Server eine andere Systemzeit hat.
Warum sehe ich nur Base64-Zeichensalat in der Signatur?
Die Signatur ist binär (HMAC oder eine ECDSA-Signatur), Base64URL-kodiert. Sie ergibt für Menschen keinen Sinn - wir zeigen sie an, damit du verifizieren kannst, dass der Token überhaupt eine Signatur hat (`alg: none` ist eine bekannte Vulnerability).
Was ist der Unterschied zwischen JWT und JWS/JWE?
JWT ist das Format des Payloads (drei Base64URL-Teile). JWS ist eine signierte JWT-Variante (was du in 99 % der Fälle siehst). JWE ist verschlüsselt - der Payload ist nicht lesbar, ohne den Key. Wir dekodieren JWS; JWE würde nach Header bereits unleserlich werden.
Verwandte Tools
Alle Daten bleiben in deinem Browser. Kein Server, kein Tracking.