Zum Inhalt springen

JWT Decoder & Encoder · Security

Decodieren, verifizieren und signieren Sie JSON Web Tokens in Ihrem Browser.

Fügen Sie einen header.payload.signature-Token ein, um seine Claims zu lesen und die Signatur gegen ein Secret, PEM, JWK oder JWKS zu verifizieren — oder wechseln Sie den Tab, um einen eigenen Token zu signieren und Test-Schlüssel zu generieren. Nichts verlässt jemals den Tab.

Läuft in Ihrem Browser HS · RS · PS · ES · EdDSA Keine Anmeldung Aktualisiert am 26.07.2026

JWT Decoder & Encoder Playground

Examples

Results update as you type — press Enter to run now.

Treat pasted keys and secrets as live credentials — clipboard history and screenshots can leak them.

Everything stays in your browser — nothing is sent anywhere. Verifies HS/RS/PS/ES 256–512 and EdDSA against a shared secret, a PEM BEGIN PUBLIC KEY, a JWK, or a full JWKS (matched by kid).

Snapshots save only the token (never keys) to this browser's localStorage — nothing leaves your machine.

Result

No share links on this tool — inputs may be secrets.

Paste a JWT or pick an example to see its header, payload, claims, and signature decoded here.

Die Lücke

Ein Token ist nur drei Strings — bis ein Claim falsch ist.

Auth zu debuggen bedeutet, auf einen undurchsichtigen eyJ…-Blob zu starren und zu raten. Ist der Token abgelaufen? Stimmt die Audience? Hat der Aussteller ihn mit dem Schlüssel signiert, von dem Sie ausgehen? Die Antworten stecken alle darin — base64url-codiert, einen Punkt entfernt — aber sie mit dem bloßen Auge zu lesen, ist fehleranfällig, und viele Online-Decoder schicken Ihren Token klammheimlich per POST an einen Server. Dasselbe gilt für KI-Assistenten: Ein in einen Chat eingefügter Token landet im Gesprächsverlauf eines Dritten — und womöglich in dessen Trainings-Pipeline. Fügen Sie niemals einen Produktions-Token in einen KI-Chat ein. Decodieren Sie ihn stattdessen lokal.

Diese JWT-Werkbank verwandelt den Blob in die konkreten Fakten, die Sie brauchen — den Header-Algorithmus, jeden Claim mit einer verständlichen Erläuterung, die menschenlesbare Gültigkeit — und bestätigt, wenn Sie das Secret, den Public Key, einen JWK oder ein JWKS angeben, die Signatur mit der Web Crypto API über alle dreizehn JWS-Algorithmen. Sie funktioniert auch in die andere Richtung: Bearbeiten Sie das Header- und Payload-JSON, signieren Sie einen frischen Token oder generieren Sie ein RSA- / EC- / Ed25519-Test-Schlüsselpaar — alles vollständig clientseitig, sodass sie selbst mit Produktions-Token sicher zu verwenden ist.

Brauchen Sie stattdessen die rohen Bytes? Der Base64 Encoder / Decoder verarbeitet beliebige base64- und base64url-Payloads.

Die Pipeline

So funktioniert es.

Fünf deterministische Schritte laufen bei jedem Tastendruck — alle innerhalb Ihres Browser-Tabs, wobei Signieren und Verifizieren von der Web Crypto API übernommen werden.

  1. Token aufteilen.

    Der kompakte JWT wird an seinen beiden Punkten in die Segmente Header, Payload und Signatur aufgeteilt.

  2. Teile decodieren.

    Die Header- und Payload-Segmente werden per base64url in ihre ursprünglichen JSON-Objekte zurückdecodiert.

  3. Claims lesen.

    Standard-Claims werden mit verständlichen Erläuterungen angezeigt, und exp, nbf sowie iat werden mit einer Gültigkeitsprüfung in lesbare Zeiten umgewandelt.

  4. Signatur verifizieren.

    Geben Sie ein Secret, einen PEM-Public-Key, einen JWK oder ein JWKS an, und die HS- / RS- / PS- / ES- / EdDSA-Signatur wird lokal neu berechnet und geprüft.

  5. Eigene Token signieren.

    Wechseln Sie zu "Encode & sign", um einen Token aus editierbarem JSON zu erzeugen — oder generieren Sie zuvor ein frisches Test-Schlüsselpaar.

Token-Referenz

Anatomie eines JWT.

Drei base64url-Segmente, durch Punkte verbunden. Header und Payload sind JSON; die Signatur wird über die ersten beiden berechnet und ist das, was die Verifizierung erneut prüft.

header.payload.signature

Die beiden Punkte teilen den Token in drei Teile. Die Signatur deckt die header.payload-Bytes ab — ändern Sie einen davon und sie passt nicht mehr.

jwt-structure
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9   ← header   (base64url JSON)
.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6...   ← payload  (base64url JSON)
.
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQ   ← signature (base64url bytes)

      header . payload . signature
      └─────── signed input ──────┘ ⇒ signature

Gängige Claims

Eine Legende für die registrierten Header- und Payload-Felder. Zeiten wie exp sind NumericDate — Sekunden seit der Unix-Epoche.

jwt-claims
alg   header   signing algorithm, e.g. HS256 / RS256
typ   header   token type, usually "JWT"
kid   header   key id — which key signed this token

iss   payload  issuer — who created the token
sub   payload  subject — who the token is about
aud   payload  audience — who the token is for
exp   payload  expiration time (NumericDate, seconds)
nbf   payload  not-before time (NumericDate, seconds)
iat   payload  issued-at time (NumericDate, seconds)
jti   payload  unique token id

Nächster Schritt

Haben Sie die Bytes? Codieren, decodieren und hashen Sie sie.

Sobald ein Token korrekt gelesen wird, gehen Sie eine Ebene tiefer: Der Base64 Encoder / Decoder verarbeitet die base64url-Payloads, aus denen JWTs aufgebaut sind, und der Hash Generator berechnet die SHA-Digests, die hinter dem HMAC-Signieren stehen — beides vollständig in Ihrem Browser.

verify.txt
HMACSHA256(
  base64url(header) + "." +
  base64url(payload),
  secret
)  ⇒  signature ✓

FAQ

Fragen, beantwortet.

Tippen Sie auf eine Frage, um die Antwort aufzuklappen.

Ein JSON Web Token (JWT) ist ein kompaktes, URL-sicheres Credential aus drei base64url-Teilen, die durch Punkte getrennt sind: einem Header, einem Payload mit Claims und einer Signatur — geschrieben als header.payload.signature. Der Header benennt den Signaturalgorithmus, der Payload trägt Claims wie etwa, für wen der Token bestimmt ist und wann er abläuft, und die Signatur erlaubt es dem Empfänger zu bestätigen, dass der Token von einer vertrauenswürdigen Partei ausgestellt und nicht manipuliert wurde. JWTs werden in OAuth 2.0 und OpenID Connect verbreitet als Access- und ID-Token verwendet.

Nein. Das Decodieren und jede Signaturprüfung laufen zu 100 % clientseitig in Ihrem Tab — es gibt keinen Server, kein Konto, kein Logging und keinen Netzwerk-Request. Der Token, den Sie einfügen, und das Secret oder der Public Key, den Sie angeben, bleiben im Speicher dieser Seite und werden niemals hochgeladen. Sie können Token offline decodieren.

Ja, optional und lokal. Fügen Sie ein Shared Secret für einen HMAC-Token (HS256 / HS384 / HS512) oder einen Public Key für einen asymmetrischen Token ein — RS256–512, PS256–512, ES256–512 oder EdDSA — und das Tool berechnet die Signatur über die header.payload-Bytes mit der Web Crypto API direkt in Ihrem Browser neu und meldet dann gültig oder ungültig. Der Schlüssel kann ein PEM-Block ("BEGIN PUBLIC KEY"), ein einzelner JWK oder ein vollständiges JWKS sein (der passende Schlüssel wird über das kid im Header ausgewählt). Wenn Sie das Schlüsselfeld leer lassen, wird einfach decodiert, ohne die Signatur zu prüfen.

Ja. Wechseln Sie zum Tab "Encode & sign", bearbeiten Sie das Header- und Payload-JSON, wählen Sie einen Algorithmus und geben Sie ein Secret (für HS256/384/512) oder einen PKCS8-Private-Key bzw. privaten JWK (für RS, PS, ES oder EdDSA) an. Der Token wird live in Ihrem Browser mit der Web Crypto API signiert — nichts wird auf einem Server erzeugt. Es gibt außerdem einen Tab "Generate keys", der Test-HMAC-Secrets sowie RSA- / EC- / Ed25519-Schlüsselpaare erzeugt und sowohl als PEM als auch als JWK exportiert.

Alle dreizehn JWS-Signaturalgorithmen, die Browser nativ beherrschen: HS256, HS384 und HS512 (HMAC), RS256, RS384 und RS512 (RSASSA-PKCS1-v1_5), PS256, PS384 und PS512 (RSA-PSS), ES256, ES384 und ES512 (ECDSA auf P-256, P-384 und P-521) sowie EdDSA (Ed25519, in Browsern, die es unterstützen). Unsignierte alg:"none"-Token werden decodiert — mit einer Warnung — aber hier niemals erstellt, und ES256K (secp256k1) ist in der Web Crypto API nicht verfügbar.

Für Entwicklung und Tests ja: Die Schlüssel stammen aus dem kryptografisch sicheren Generator der Web Crypto API, werden vollständig auf Ihrem Rechner erzeugt und von dieser Seite niemals übertragen oder gespeichert. Für die Produktion sollten Sie Schlüssel stattdessen im KMS, HSM oder Secret Manager Ihrer Plattform generieren und aufbewahren — ein Browser-Tab bietet keine sichere Schlüsselaufbewahrung, und alles, was auf dem Bildschirm dargestellt wird, kann in Screenshots oder im Verlauf der Zwischenablage landen.

Es sind standardmäßige registrierte Claims, die als NumericDate (Sekunden seit der Unix-Epoche) ausgedrückt werden. exp (expiration time) ist der Zeitpunkt, nach dem der Token abgelehnt werden muss; nbf (not before) ist der Zeitpunkt, vor dem er nicht akzeptiert werden darf; iat (issued at) ist der Zeitpunkt, zu dem der Token erstellt wurde. Der Decoder wandelt jeden in eine lesbare UTC-Zeit um und kennzeichnet, ob der Token derzeit abgelaufen oder noch nicht gültig ist.

Das Decodieren findet ausschließlich in Ihrem Browser statt, es wird also nichts übertragen — aber ein JWT ist trotzdem ein aktives Credential. Behandeln Sie ihn wie ein Passwort: Fügen Sie nur einen Token ein, über den Sie die Kontrolle haben, bevorzugen Sie einen kurzlebigen oder Test-Token, und denken Sie daran, dass der Payload lediglich base64url-codiert und nicht verschlüsselt ist, sodass jeder, der den Token besitzt, dessen Claims lesen kann. Rotieren oder widerrufen Sie einen Token, wenn Sie vermuten, dass er irgendwo offengelegt wurde. Diese Vorsicht gilt doppelt für KI-Chatbots: Betrachten Sie jeden in ein Chat-Fenster eingefügten Token als offengelegt, und rotieren Sie ihn.

Standardmäßig signierte JWTs sind nicht verschlüsselt — der Header und der Payload sind nur base64url-codiert, sodass jeder, der den Token besitzt, dessen Claims ohne jeden Schlüssel lesen kann. Die Signatur belegt, dass der Token nicht manipuliert wurde, aber sie verbirgt den Inhalt nicht. Aus diesem Grund sollten Sie niemals Passwörter, personenbezogene Daten oder Secrets in JWT-Claims speichern.

Ja. Das Lesen von Header und Payload erfordert überhaupt keinen Schlüssel, da die Daten nur base64url-codiert sind. Das Secret oder der Public Key wird nur benötigt, um die Signatur zu verifizieren — um zu bestätigen, dass der Token wirklich vom erwarteten Aussteller stammt. Mit diesem Decoder können Sie die Claims inspizieren, ob Sie einen Schlüssel angeben oder nicht.

Fügen Sie den Token in den JWT Decoder ein und sehen Sie sich die Zeile mit dem exp-Claim an. Das Tool wandelt den rohen Unix-Zeitstempel in ein lesbares UTC-Datum um und kennzeichnet den Token automatisch als abgelaufen, wenn die aktuelle Zeit den exp-Wert überschritten hat. Die Claims iat (issued at) und nbf (not before) werden ebenfalls mit ihren menschenlesbaren Daten angezeigt.

Nein. Das Decodieren legt nur den Inhalt von Header und Payload offen — es belegt nicht, dass der Token authentisch ist. Um einen Token zu validieren, müssen Sie seine Signatur mit dem Secret oder dem Public Key des Ausstellers verifizieren. Dieses Tool kann diese Prüfung lokal im Browser durchführen, aber für Autorisierungsentscheidungen muss die Signatur immer serverseitig verifiziert werden, bevor man einem Claim vertraut.

More free, private DevOps tools.

Der JWT Decoder & Encoder ist eines von vielen Tools in OpsCanopy — einem wachsenden Schirm browserbasierter Validatoren, Konverter und Tester, die niemals einen Server berühren.

29 kostenlose Tools, jedes einzelne offlinefähig — opscanopy.com funktioniert ohne Registrierung, und nichts wird hochgeladen.

Mehr zu Sicherheit & Codierung: der Hash Generator und der Base64 Encoder / Decoder, oder durchstöbern Sie das vollständige Tool-Verzeichnis.

Ohne Gewähr zur Vereinfachung bereitgestellt; ein JWT ist ein aktives Credential, behandeln und speichern Sie Token daher stets sicher. OpsCanopy ist kostenlos und offen.