Kodierung
JWT Encoder/Decoder
Kodierung und Dekodierung von JWT-Tokens — Header, Payload, HMAC-Signatur und Standardfelder.
Signierte Beispiele (alle außer none) erfordern HTTPS — die Seite ist derzeit ohne HTTPS geöffnet.
Für RS/PS/ES wird der Schlüssel automatisch und temporär erzeugt — nur zu Demonstrationszwecken, kann nicht wiederverwendet werden.
Signierte Beispiele (alle außer none) erfordern HTTPS — die Seite ist derzeit ohne HTTPS geöffnet.
Claims
Ein JWT (JSON Web Token) ist ein kompaktes Format zur Übertragung signierter Daten, bestehend aus drei durch Punkte getrennten Teilen: Header, Payload und Signatur. Dieses Tool dekodiert jedes JWT und zeigt alle drei Teile — und kann auch ein neues, mit HMAC signiertes Token erstellen.
Das Dekodieren prüft die Signatur nicht — um den Inhalt eines Tokens zu lesen, braucht man keinen geheimen Schlüssel. Die Signatur zu prüfen ist nur wichtig, wenn du dem Token als echt vertrauen musst.
So verwendest du es
- Dekodieren: Füge ein JWT ein — das Tool zerlegt es in Header, Payload und Signatur und hebt Standard-Claims wie exp, iat und sub hervor.
- Kodieren: Fülle Header und Payload aus, gib ein Secret an und erhalte ein signiertes HMAC-Token (HS256/HS384/HS512) zurück.
- Ablauf prüfen: Der Claim exp wird als normales Datum angezeigt, sodass du sofort siehst, ob ein Token abgelaufen ist.
Typische Anwendungsfälle
- Authentifizierungsprobleme debuggen, indem du genau prüfst, was im Token einer Anfrage steckt.
- Prüfen, welche Claims (Rollen, Berechtigungen, Ablauf) dein Backend ausstellt.
- Ein Test-Token für die lokale Entwicklung erzeugen, ohne einen Auth-Server zu starten.
Was du wissen solltest
Ein JWT ist nicht verschlüsselt, sondern nur Base64URL-kodiert — jeder kann die Payload lesen. Speichere niemals Passwörter oder andere Geheimnisse darin.
Die Signatur schützt vor Manipulation, nicht vor Einsicht. Für Vertraulichkeit brauchst du zusätzliche Verschlüsselung (JWE) oder einen HTTPS-Transport.
Artikel zu diesem Tool: JWT: Aufbau eines Tokens und was „Dekodieren" eines JWT bedeutet
Häufig gestellte Fragen
Beweist das Dekodieren eines JWT, dass es authentisch ist?
Nein. Beim reinen Dekodieren werden Header und Payload nur lesbar gemacht, ohne die Signatur zu prüfen. Ein Token ist erst dann als echt bestätigt, wenn die Signatur mit dem richtigen Secret oder öffentlichen Schlüssel verifiziert wurde.
Verlässt mein Secret oder Token diesen Browser?
Nein, das gesamte Kodieren, Dekodieren und Signieren läuft lokal im Browser über die Web Crypto API. Es wird nichts an einen Server gesendet.
Warum ist beim Signieren manchmal HTTPS erforderlich?
Signierte Beispiele (alle Algorithmen außer none) nutzen die Web Crypto API, die aus Sicherheitsgründen nur in einem sicheren Kontext (HTTPS oder localhost) verfügbar ist.
Was ist die Angriffstechnik mit der Algorithmus-Verwechslung auf "none"?
Vertraut ein Backend naiv dem Feld alg aus dem Header des Tokens, kann ein Angreifer es auf none setzen, die Signatur entfernen – und ein Token mit beliebigen Daten besteht die Prüfung. Zuverlässige Bibliotheken verlangen bei der Verifizierung die explizite Angabe des erwarteten Algorithmus.
Warum sollte man JWT nicht in localStorage für sensible Sitzungen speichern?
localStorage ist für jeden JavaScript-Code auf der Seite zugänglich und damit anfällig für XSS – ein schädliches Skript kann den Token stehlen. Für Session-Tokens sind httpOnly-Cookies sicherer, da sie für JavaScript nicht zugänglich sind.