JWT dekodieren (Inhalt, Ablaufzeit & Signatur prüfen)
JWT einfügen und Header und Payload lesen – die Ablaufzeit erscheint als Datum. Mit Schlüssel wird auch die Signatur geprüft.
JWT
0 Zeichen · 0 Zeilen
Alles wird auf diesem Gerät verarbeitet. Was du eingibst, wird nirgendwohin gesendet.
Ein JWT kann so viel wert sein wie ein Login-Schlüssel. Füge es nicht auf anderen Seiten ein, denen du nicht vertraust.
Dekodierter Inhalt
Hier erscheint das Ergebnis
Hilfreich? Wir freuen uns, wenn du es teilst
Funktioniert etwas nicht, oder hast du eine Idee zur Verbesserung?
So funktioniert’s
1. JWT einfügen
Tippe über dem oberen Feld auf „Einfügen“, um das kopierte JWT einzufügen. „Bearer“ davor oder Anführungszeichen drumherum dürfen stehen bleiben. Zum Ausprobieren tippe auf „Beispiel“.
Klicke über dem linken Feld auf „Einfügen“, um das kopierte JWT einzufügen. „Bearer“ davor oder Anführungszeichen drumherum dürfen stehen bleiben. Zum Ausprobieren klicke auf „Beispiel einfügen“.
2. Inhalt ansehen
Unten unter „Dekodierter Inhalt“ erscheint ein Hinweis wie „Gültig“ oder „Abgelaufen“. Darunter stehen Ablauf- und Ausstellungszeit in der Zeit dieses Geräts, zusammen mit „in 2 Jahren“ oder „vor 3 Stunden“. Danach folgt das JSON von Header und Payload. Tippe auf „Payload kopieren“, um das formatierte JSON zu kopieren.
Über dem rechten Feld erscheint ein Hinweis wie „Gültig“ oder „Abgelaufen“. Darunter stehen Ablauf- und Ausstellungszeit in der Zeit dieses Geräts, zusammen mit „in 2 Jahren“ oder „vor 3 Stunden“. Danach folgt das JSON von Header und Payload. Mit „Payload kopieren“ kopierst du das formatierte JSON.
3. Signatur prüfen
Gib ganz unten unter „Signatur prüfen“ bei HS256 & Co. den geheimen Schlüssel ein, bei RS256, ES256 & Co. den öffentlichen Schlüssel. Sofort erscheint „Die Signatur ist gültig“ oder „Die Signatur passt nicht“. Der Schlüssel des Beispiel-Tokens ist papatto-sample-secret.
Gib links unten unter „Signatur prüfen“ bei HS256 & Co. den geheimen Schlüssel ein, bei RS256, ES256 & Co. den öffentlichen Schlüssel. Sofort erscheint „Die Signatur ist gültig“ oder „Die Signatur passt nicht“. Der Schlüssel des Beispiel-Tokens ist papatto-sample-secret.
Praktisch für
Herausfinden, warum der Login plötzlich abbricht
Füge das Token ein, und du siehst Ablaufzeit (exp) und Ausstellungszeit (iat) in der Zeit dieses Geräts, dazu etwa „vor 5 Minuten“. Ob es abgelaufen ist, zeigt der Hinweis sofort – so fallen eine falsch gehende Uhr oder zu kurze Laufzeiten schnell auf.
Webentwickler und Support-Teams
Nachsehen, was in einem Token steckt
Nutzer (sub), Aussteller (iss), Empfänger (aud) und eigene Claims wie Rollen liest du als formatiertes JSON. Auch Text aus den Entwicklertools mit „Bearer“ davor kannst du direkt einfügen.
Alle, die APIs bauen oder testen
Prüfen, ob der Signaturschlüssel stimmt
Gib einen HS256-Schlüssel oder einen öffentlichen RS256- oder ES256-Schlüssel (PEM oder JWK) ein, und du siehst sofort, ob die Signatur mit diesem Schlüssel erstellt wurde. Hilfreich, wenn die Anmeldung wegen falsch eingestellter Schlüssel scheitert.
Entwickler rund um die Authentifizierung
Echte Tokens nicht aus der Hand geben
Lesen und Prüfen passieren komplett im Browser dieses Geräts. Tokens und Schlüssel werden nie an einen Server gesendet, deine Zugangsdaten landen also nicht auf fremden Servern.
Alle, die auf Sicherheit achten
Gut zu wissen
- Der Inhalt eines JWT ist nicht verschlüsselt, jeder kann ihn lesen. Pack keine Passwörter oder anderes hinein, das niemand sehen soll.
- Bei einem verschlüsselten JWT (JWE) lässt sich der Inhalt nicht lesen, nur der Header.
- Öffentliche Schlüssel werden nicht automatisch geladen (etwa von einer JWKS-URL). Füge den Schlüssel selbst ein – diese Seite verbindet sich mit nichts außerhalb.
Über JWT
Ein JWT (JSON Web Token) ist eine Zeichenkette, die Angaben zu einem angemeldeten Nutzer und seinen Rechten in 3 Teilen darstellt: „Header.Payload.Signatur“. Header und Payload sind nur JSON in der URL-sicheren Form von {tool:base64}, jeder kann sie also zurückverwandeln und lesen. Vor Manipulation schützt allein die Signatur am Ende.
Dieses Tool zeigt exp (Ablaufzeit), nbf (gültig ab) und iat (Ausstellungszeit) der Payload als Datum in der Zeitzone dieses Geräts, dazu Angaben wie „in 3 Stunden“, und weist mit einem Hinweis darauf hin, wenn das Token abgelaufen ist. Reine Zahlen-Zeitstempel kannst du auch mit {tool:unix-time} umrechnen. Gibst du einen Schlüssel ein, prüft es außerdem, ob Signaturen mit HS256, RS256, PS256, ES256, EdDSA usw. gültig sind – nur im Browser.
Häufige Fragen
Antworten auf Fragen, die oft vor der ersten Nutzung auftauchen.
Wird das eingefügte JWT irgendwohin gesendet?
Nein. Lesen und Prüfen der Signatur passieren nur im Browser deines Geräts, weder JWT noch Schlüssel werden an einen Server gesendet. Ein JWT kann so viel wert sein wie ein Login-Schlüssel – füge es daher nicht auf anderen Seiten ein, bei denen du nicht weißt, was sie damit machen.
Wie lese ich die Ablaufzeit (exp)?
Der Hinweis über „Dekodierter Inhalt“ zeigt „Gültig“, „Abgelaufen“, „Noch nicht gültig“ oder „Ohne Ablauf“. Die Liste darunter zeigt das Ablaufdatum in der Zeitzone dieses Geräts, dazu die Zeit ab jetzt, etwa „in 3 Stunden“ oder „vor 2 Tagen“.
Kann ich die Signatur prüfen?
Ja. Gib bei HS256, HS384 oder HS512 den geheimen Schlüssel (als Text oder Base64) ein, bei RS256, PS256, ES256, EdDSA usw. den öffentlichen Schlüssel. Sofort erscheint „Die Signatur ist gültig“ oder „Die Signatur passt nicht“.
Welche Formen von öffentlichen Schlüsseln gehen?
PEM, das mit „-----BEGIN PUBLIC KEY-----“ beginnt, „-----BEGIN RSA PUBLIC KEY-----“, Zertifikate (-----BEGIN CERTIFICATE-----), JWK und JWK Set ({"keys": […]}). Bei einem JWK Set wird der Schlüssel mit derselben kid wie im Header gewählt.
Geht es auch mit „Bearer“ davor?
Ja. Eine Zeile mit „Authorization: Bearer“ sowie Leerzeichen, Zeilenumbrüche oder Anführungszeichen drumherum werden vor dem Lesen automatisch entfernt.
Es erscheint „JWT ohne Signatur (alg: none)“
Das Token hat keine Signatur, jeder kann den Inhalt ändern. Wenn es nicht zum Testen gedacht ist, prüfe die Einstellungen deines Servers. Server, die JWTs für den Login nutzen, dürfen kein JWT mit alg none annehmen.
Es erscheint „Verschlüsseltes JWT (JWE)“
Ein JWT, das durch „.“ in 5 Teile getrennt ist, ist ein JWE mit verschlüsseltem Inhalt. Lesen lässt es sich nur mit dem privaten Schlüssel des Empfängers, daher zeigt dieses Tool nur den Header (Verschlüsselungsverfahren usw.).
Es erscheint „Das ist kein gültiges JWT“
Entweder fehlt ein Teil, weil beim Kopieren etwas verloren ging, oder es stehen Zeichen darin, die in einem JWT nicht erlaubt sind. Das Tool zeigt, welcher Teil nicht lesbar ist, und markiert die Stelle im Eingabefeld orange – sieh dort nach.
Ist der Inhalt eines JWT verschlüsselt?
Nein. Header und Payload werden nur nach einer festen Tabelle in Zeichen umgesetzt (base64url), jeder kann sie lesen. Pack keine Passwörter oder persönlichen Daten hinein.
Ist es kostenlos?
Ja, es ist kostenlos. Ohne Anmeldung und ohne Werbung.
Weitere Tools
- Voll- und Halbbreite umwandeln
Wandle Buchstaben, Ziffern und Katakana auf einmal zwischen Voll- und Halbbreite um.
- Hiragana-Katakana-Konverter
Wandelt Hiragana, Katakana und Halbbreiten-Kana auf einmal ineinander um. Kanji, Buchstaben und Ziffern bleiben unverändert.
- Zeichenzähler für Social Media (X, Instagram, YouTube)
Zeigt, wie viele Zeichen bis zum Limit von X, Instagram, YouTube und Co. noch frei sind – gezählt wie auf der jeweiligen Plattform. Dazu Wörter und Zeilen.
- JSON formatieren
Macht JSON gut lesbar oder fasst es in einer Zeile zusammen. Bei einem Fehler zeigt es die Stelle.
- URL kodieren / dekodieren
Kodiert Umlaute und Sonderzeichen in eine URL-taugliche Form (z. B. %C3%BC) oder wandelt sie zurück in den ursprünglichen Text.
- Passwort-Generator
Wähle Länge und Zeichen und erzeuge sofort schwer zu erratende Passwörter.