JWT Kodierer
JWTs mit HS256, HS384 oder HS512 im Browser erstellen und signieren. Header- und Payload-JSON bearbeiten; Claim-Reihenfolge und Felder wie kid bleiben erhalten.
Eingaben und Dateien bleiben im Browser
Header, Payload und Signatur
Korrigieren Sie das JSON von Header und Payload – das signierte Token erscheint hier während der Eingabe.
Auf dieser Seite
Erstellen Sie ein signiertes JSON Web Token zum Testen von APIs und Authentifizierungsabläufen: Header- und Payload-JSON bearbeiten, HS256, HS384 oder HS512 wählen, Secret eingeben und das Token kopieren, das sich bei jedem Tastendruck aktualisiert.
Detaillierte Funktionalität
Header und Payload müssen jeweils ein JSON-Objekt sein; ungültiges JSON oder ein Nicht-Objekt wie ein Array wird unter dem jeweiligen Feld gemeldet, und es entsteht kein Token. Das JSON wird kompaktiert (Leerraum entfernt) und ohne Padding base64url-kodiert, wobei die Reihenfolge der Claims und zusätzliche Header-Felder wie kid oder cty erhalten bleiben. Der Wert alg im Header wird durch den in der Liste gewählten Algorithmus ersetzt oder, falls er fehlt, an erster Stelle ergänzt.
Die HMAC-Signatur (SHA-256, SHA-384 oder SHA-512) berechnet ein Rust-Kryptografiemodul, kompiliert zu WebAssembly; das Secret wird als UTF-8-Text verwendet. Es stehen nur symmetrische HMAC-Algorithmen zur Verfügung – RS256- oder ES256-Tokens, die einen privaten Schlüssel erfordern, lassen sich hier nicht erstellen. Auch mit leerem Secret entsteht ein Token, signiert mit einem leeren Schlüssel – das taugt nur für Experimente.
Secret und Claims bleiben auf der Seite und werden nicht gespeichert. Das Tool ergänzt iat oder exp nicht selbst: Tragen Sie NumericDate-Werte (Unix-Zeit in Sekunden) selbst in die Payload ein.
Praktische Beispiele
jwt.io-Testvektor: Der Standard-Header {"alg":"HS256","typ":"JWT"} und die Payload {"sub":"1234567890","name":"John Doe","iat":1516239022} ergeben mit dem Secret your-256-bit-secret ein Token, das auf SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c endet – genau wie auf jwt.io.
Schlüssel-ID und Ablauf: Header {"alg":"HS256","typ":"JWT","kid":"key-2026"}, Payload {"sub":"42","role":"admin","exp":1767225600} und Algorithmus HS384 – der kodierte Header wird zu {"alg":"HS384","typ":"JWT","kid":"key-2026"} mit unveränderter Feldreihenfolge, und die Signatur ist 64 Zeichen lang.
Kein Objekt: Eine Payload [1,2] zeigt „Muss ein JSON-Objekt sein“ unter dem Feld, und das Token wird geleert.
So verwenden Sie dieses Tool
Header bearbeiten
Passen Sie das JSON im Feld Header an – ergänzen Sie
kid, wenn Ihr Prüfer es braucht;algwird aus der Algorithmusliste gesetzt.Claims eintragen
Schreiben Sie Ihre Claims (
sub,role,exp…) als JSON-Objekt in Payload.Algorithmus und Secret wählen
Wählen Sie HS256, HS384 oder HS512 unter Algorithmus und geben Sie das gemeinsame Secret in Secret Key ein.
Token kopieren
Das Token in Kodierter Token aktualisiert sich bei jeder Änderung; klicken Sie auf Token kopieren, um es zu kopieren.
Tipps und Best Practices
- Verwenden Sie ein zufälliges Secret, das mindestens so lang ist wie der Hash: 32 Bytes für HS256, 48 für HS384, 64 für HS512.
exp,nbfundiatstehen in Sekunden, nicht in Millisekunden:1767225600, nicht1767225600000.- Jedes Zeichen des Secrets zählt, auch ein Leerzeichen oder Zeilenumbruch am Ende.
- Die Payload ist nur base64url-kodiert, nicht verschlüsselt – jeder mit dem Token kann sie lesen.
- Prüfen Sie das Ergebnis im JWT-Decoder mit demselben Secret.