JWTs lokal dekodieren und lesen
Füge einen JSON Web Token ein und sieh Header und Payload als formatiertes JSON, die Standard-Claims menschenlesbar (exp, iat und nbf als Datum, mit Abgelaufen-Badge) und das Signatur-Segment im Rohformat. Eines vorweg, groß und deutlich: Die Signatur wird NICHT geprüft, dieses Tool dekodiert nur. Alles läuft im Browser, dein Token verlässt dein Gerät nie.
Warum darf ein Token auf keinen fremden Server?
Ein JWT ist kein harmloser Debug-Text, sondern ein lebender Zugangsnachweis: Wer ihn besitzt, kann sich bis zum Ablauf gegenüber der API als der eingetragene Nutzer ausgeben. Einen Produktions-Token in ein Online-Tool zu kopieren, das ihn zum Server überträgt, ist damit dasselbe wie die eigene Session zu verschenken. Genau deshalb dekodiert dieses Tool ausschließlich lokal: kein Request, kein Log, kein Dritter. Es funktioniert auch offline.
Wie ist ein JWT aufgebaut?
Nach RFC 7519 (Mai 2015) besteht ein JWT aus drei Base64url-Segmenten, getrennt durch Punkte: Header (Algorithmus und Typ), Payload (die Claims) und Signatur. Base64url ist eine umkehrbare Kodierung, keine Verschlüsselung, jeder kann Header und Payload ohne Schlüssel lesen. Lege deshalb nie Passwörter oder andere Geheimnisse in Claims ab. Die Signatur macht Manipulation für den Prüfer erkennbar, verbirgt aber nichts.
Was bedeuten die Standard-Claims?
RFC 7519 registriert in Abschnitt 4.1 genau sieben Claims: iss (Aussteller), sub (Subjekt), aud (Ziel-Anwendung), exp (Ablauf), nbf (gültig ab), iat (ausgestellt am) und jti (Token-ID). Die drei Zeit-Claims sind NumericDates, also Sekunden seit der Unix-Epoche (1. Januar 1970 UTC); das Tool rechnet sie in lesbare Daten samt relativer Zeit um und markiert abgelaufene Tokens mit einem Badge.
Warum prüft dieses Tool die Signatur nicht?
Weil eine seriöse Prüfung den geheimen beziehungsweise öffentlichen Schlüssel des Ausstellers braucht und auf den Server gehört, der dem Token vertraut. Ein Decoder im Browser kann nur zeigen, was der Token behauptet, nicht, ob er echt ist. Tools, die im Browser eine Prüfung versprechen, verleiten dazu, den geheimen Schlüssel einzufügen, und der ist noch sensibler als der Token selbst. Fürs Debugging reicht Dekodieren; für Vertrauensentscheidungen niemals.
Wenn der Token nicht dekodierbar ist
Das Tool meldet das betroffene Segment einzeln: Struktur (keine drei Punkte-getrennten Teile), Header oder Payload, jeweils unterschieden nach ungültigem Base64url und ungültigem JSON. Bearer-Präfixe und Zeilenumbrüche aus Log-Kopien werden automatisch entfernt. Bleibt der Fehler, ist die Kopie meist abgeschnitten, oder der Wert ist schlicht kein JWT, sondern ein API-Key oder eine opake Session-ID.