Zum Inhalt springen
SPCX Tools

JWT Encoder

Generieren und signieren Sie HMAC-basierte JSON Web Tokens (JWT) direkt in Ihrem Browser.

Läuft lokal – Dateien verlassen dein Gerät nicht

Tool wird geladen…

So nutzt du: JWT Encoder

  1. 1Wählen Sie Ihren bevorzugten HMAC-Signaturalgorithmus (HS256, HS384 oder HS512).
  2. 2Bearbeiten Sie den JSON-Payload. Nutzen Sie die Schnell-Buttons, um die aktuelle Zeit für Standard-Claims wie iat und exp einzufügen.
  3. 3Geben Sie Ihren Secret Key ein. Wenn Ihr System ein Base64-kodiertes Secret verwendet, aktivieren Sie die Base64-Checkbox.
  4. 4Das signierte Token wird während der Eingabe automatisch aktualisiert. Klicken Sie auf Kopieren, um das fertige JWT zu übernehmen.

Ein sicherer, lokaler JWT-Encoder

Dieser JWT-Encoder ermöglicht es Entwicklern, JSON Web Tokens schnell und direkt im Browser zu erstellen, zu bearbeiten und zu signieren. Egal, ob Sie einen Authentifizierungs-Flow entwickeln, einen API-Endpunkt testen oder einen Microservice debuggen: Sie können im Handumdrehen gültige Tokens generieren, ohne eigene Skripte schreiben oder Ihre Zugangsdaten an externe Server übermitteln zu müssen.

Da das Tool die native Web Crypto API Ihres Browsers nutzt, erfolgen die gesamte Datenverarbeitung und das kryptografische Signieren vollständig auf Ihrem Gerät. Ihre JSON-Payload und geheimen Schlüssel werden niemals hochgeladen, gespeichert oder protokolliert. Dank dieses Local-First-Ansatzes ist es sicher, JWT online zu signieren – selbst wenn Sie mit sensiblen Zugangsdaten für Entwicklungs- oder Staging-Umgebungen arbeiten.

So erstellen Sie ein JWT-Token

Um ein JWT-Token zu erstellen, benötigen Sie drei Komponenten: einen Header (der den Algorithmus definiert), einen Payload (der Ihre Daten enthält) und einen Secret Key (der das Token absichert).

Wählen Sie zunächst Ihren Algorithmus aus. Dieses Tool fungiert als leistungsstarker HS256 JWT Generator, unterstützt aber auch HS384 und HS512. Dies sind symmetrische HMAC-Algorithmen, was bedeutet, dass exakt derselbe Secret Key verwendet wird, um das Token zu signieren und später zu verifizieren. Je höher die Zahl (z. B. 512), desto größer ist der resultierende Hash-Wert, was eine stärkere kryptografische Sicherheit auf Kosten einer etwas längeren Token-Zeichenfolge bietet.

Definieren Sie als Nächstes Ihren Payload im vorgesehenen Textfeld. Der Payload muss gültiges JSON sein. Während Sie das JSON bearbeiten oder den Secret Key aktualisieren, berechnet das Tool die Signatur in Echtzeit neu und gibt sofortiges Feedback, falls ein Syntaxfehler in Ihrer JSON-Struktur vorliegt. Sobald Ihr Payload und Ihr Secret festgelegt sind, kann das fertige Token kopiert und in den Authorization-Headern oder Cookies Ihrer Anwendung verwendet werden.

Häufige Anwendungsfälle für die Token-Generierung

Einen zuverlässigen JWT-Generator zur Hand zu haben, ist für die moderne Webentwicklung unerlässlich. Entwickler nutzen dieses Tool häufig für verschiedene Test- und Debugging-Szenarien:

API-Endpunkte testen: Bei der Arbeit mit API-Clients wie Postman oder Insomnia benötigt man oft ein gültiges Bearer-Token, um auf geschützte Routen zuzugreifen. Anstatt das gesamte Frontend zu starten, um sich anzumelden und ein Token abzurufen, kannst du hier manuell eines mit der exakten Benutzer-ID und den benötigten Rollen generieren.

Authentifizierungslogik debuggen: Wenn dein Backend Tokens ablehnt, hilft das manuelle Erstellen eines Tokens dabei, das Problem einzugrenzen. Du kannst überprüfen, ob der Fehler an einem falschen Secret Key, einem fehlerhaften Payload oder einem falschen Signaturalgorithmus liegt.

Edge Cases simulieren: Zu testen, wie dein Backend mit abgelaufenen Tokens, fehlenden Claims oder unautorisierten Rollen umgeht, ist für die Sicherheit entscheidend. Hier kannst du den JSON-Payload einfach anpassen, um diese Grenzfälle zu erzeugen und sicherzustellen, dass dein Server mit den korrekten HTTP-Statuscodes antwortet.

Zeitstempel und Claims verwalten

JSON Web Tokens nutzen bestimmte Felder, sogenannte Claims, um Informationen über den Lebenszyklus des Tokens und den zugehörigen Nutzer zu übermitteln. Die häufigsten zeitbasierten Claims sind iat (Issued At) und exp (Expiration Time). Beide Claims benötigen einen Unix-Zeitstempel, also die Anzahl der seit dem 1. Januar 1970 vergangenen Sekunden.

Diese Zeitstempel beim Testen manuell zu berechnen, ist oft mühsam. Um deinen Workflow zu beschleunigen, bietet dieses Tool Schnellzugriff-Buttons über dem Payload-Editor.

  • Ein Klick auf iat = now fügt sofort das iat-Feld mit der aktuellen Unix-Zeit ein oder aktualisiert es.
  • Ein Klick auf exp = +1h oder exp = +24h berechnet den zukünftigen Zeitstempel und aktualisiert das exp-Feld entsprechend.

Das stellt sicher, dass deine generierten Tokens sofort gültig sind und nicht vorzeitig von der Zeitvalidierung deines Servers abgelehnt werden.

Umgang mit Base64-Secrets

Ein häufiger Stolperstein beim Online-Signieren von JWTs ist die Codierung des Secret Keys. Viele Backend-Systeme und Tutorials empfehlen, ein sicheres, zufälliges Byte-Array für das HMAC-Secret zu generieren und als Base64-String in den Umgebungsvariablen zu speichern.

Wenn Ihr Server diesen Base64-String vor dem Signieren oder Verifizieren des Tokens in reine Bytes decodiert, führt das direkte Einfügen des Base64-Strings in einen Standard-Generator zu einer ungültigen Signatur. Der Generator behandelt die Base64-Zeichen als Klartext, was zu einer abweichenden Signatur führt.

Setzen Sie zur Lösung einfach das Häkchen bei Secret ist Base64-codiert. Das Tool decodiert Ihren Secret-String in die ursprünglichen Bytes, bevor der HMAC-Hash angewendet wird. So wird sichergestellt, dass die generierte Signatur exakt mit Ihrer Backend-Umgebung übereinstimmt.

Den Aufbau eines JWT verstehen

Wenn Sie ein Token erstellen, wird die Ausgabe farblich markiert, damit Sie den Aufbau leichter nachvollziehen können. Ein Standard-JWT besteht aus drei Teilen, die durch Punkte (.) getrennt sind:

  1. Header (Rot): Enthält Metadaten zum Token, hauptsächlich den Signaturalgorithmus (z. B. {"alg":"HS256","typ":"JWT"}). Dieser wird basierend auf Ihrer Algorithmus-Auswahl automatisch generiert und Base64-URL-codiert.
  2. Payload (Blau): Ihre eigentlichen JSON-Daten, ebenfalls Base64-URL-codiert. Dieser Teil kann von jedem, der das Token abfängt, leicht gelesen werden. Deshalb sollten Sie niemals Passwörter oder hochsensible Daten in der Payload speichern.
  3. Signatur (Grün): Der kryptografische Hash des codierten Headers und der codierten Payload, signiert mit Ihrem geheimen Schlüssel. Dies garantiert, dass das Token bei der Übertragung nicht manipuliert wurde.

Wenn Sie ein vorhandenes Token haben und dessen Inhalt ohne den geheimen Schlüssel auslesen möchten, können Sie es in unseren JWT Decoder einfügen, um Header und Payload sicher zu überprüfen.

Häufige Fragen

Welche Algorithmen unterstützt dieses Tool?
Dieses Tool unterstützt derzeit HMAC-basierte Algorithmen: HS256 (HMAC mit SHA-256), HS384 und HS512. Es handelt sich dabei um symmetrische Algorithmen, das heißt, zum Signieren und Verifizieren des Tokens wird derselbe Secret Key verwendet.
Wird mein Secret Key an einen Server gesendet?
Nein. Die gesamte kryptografische Signatur erfolgt lokal in deinem Browser mithilfe der Web Crypto API. Dein JSON-Payload und dein Secret Key verlassen niemals dein Gerät. Das macht es zu einer sicheren Methode, um Token für Testzwecke zu generieren.
Was macht die Base64-Checkbox?
In vielen Backend-Frameworks wird das JWT-Secret als Base64-codierter String statt als Klartext gespeichert. Wenn du diese Checkbox aktivierst, wird deine Eingabe in Rohbytes decodiert, bevor der HMAC-Algorithmus angewendet wird. Das stellt sicher, dass die generierte Signatur exakt dem entspricht, was dein Server erwartet.
Wie funktionieren die Zeit-Buttons?
Die Buttons für iat (issued at) und exp (expiration) fügen Standard-Unix-Zeitstempel (die Anzahl der Sekunden seit dem 1. Januar 1970) in deinen JSON-Payload ein. Das erspart dir, die aktuelle Epoch-Zeit manuell nachschlagen oder berechnen zu müssen.
Warum ist mein Token ungültig, wenn ich versuche, es auf meinem Server zu verifizieren?
Die häufigsten Ursachen sind ein nicht übereinstimmender Secret Key, ein falscher Algorithmus oder ein Fehler bei der Codierung des Secrets. Stelle sicher, dass du exakt denselben Secret-String verwendest, und prüfe, ob dein Server erfordert, dass das Secret vor dem Signieren Base64-decodiert wird.