Online-JWT-Decoder
Ein JWT (JSON Web Token) besteht aus drei durch Punkte getrennten Base64URL-Teilen: Header, Payload und Signatur. Dieser JWT-Decoder verwandelt die ersten beiden in lesbares JSON, sodass du Claims (wie sub, iss, exp) prüfen und exp als lesbare Zeit sehen kannst — praktisch zum Debuggen von Auth. Alles wird lokal dekodiert.
So funktioniert es
- Füge ein vollständiges JWT in das Eingabefeld ein.
- Der dekodierte Header und die Payload erscheinen unten in Echtzeit.
- Prüfe, ob exp abgelaufen ist und ob die Claims korrekt sind.
Wichtige Hinweise
- Dies dekodiert nur — es prüft nicht die Signatur (dafür braucht es einen geheimen Schlüssel, der nie in ein Online-Tool gehört).
- Die Payload ist für jeden lesbar; lege keine Geheimnisse hinein.
- Ein Token ist wie ein Passwort — sei vorsichtig beim Teilen.
Decodieren zeigt den Inhalt – es prüft nicht die Signatur
Wenn du einem Login-Bug auf der Spur bist, ist der schnellste Weg, das JWT hier einzufügen und seine Claims, den Aussteller und die exp-Ablaufzeit abzulesen – viele Fälle nach dem Muster „Zugangsdaten stimmen, aber ich fliege ständig raus" entpuppen sich als längst abgelaufenes Token. Zwei Dinge solltest du dir aber fest einprägen. Erstens: Decodieren ist keine Verifizierung. Hier wird nur der Inhalt gelesen, ob die Signatur gültig ist, wird nie geprüft – ein sauber decodiertes Token ist also nicht automatisch vertrauenswürdig. Zweitens: Der Payload ist nicht verschlüsselt, sondern nur Base64. Jeder, der das Token hat, kann ihn lesen – pack also niemals Passwörter, Schlüssel oder andere Geheimnisse hinein.
Warum funktioniert das ohne jeden Schlüssel?
Weil ein JWT nicht verschlüsselt ist. Wir haben das Beispiel-Token aus der Spezifikation ohne jeden Schlüssel eingefügt: Der Header kam als { "alg": "HS256", "typ": "JWT" } zurück und die Payload als { "sub": "1234567890", "name": "John Doe", "iat": 1516239022 }. Es wurde nichts entschlüsselt, weil nichts verschlüsselt war — die ersten zwei Segmente sind Base64url-Text, und die Signatur schützt sie vor Veränderung, nicht vor Lesen. Ein JWT darf also nie etwas tragen, das man nicht in eine URL schreiben würde, und ein vollständiges Token in einem Fehlerbericht übergibt bis zum Ablauf ein funktionierendes Zugangsmittel.