Skip to content

JWT-Dekodierer

Dekodieren Sie JWT-Token online mit unserem kostenlosen JWT-Dekodierer. Inspizieren Sie sofort Header, Payload, Signatur, Ablauf und Claims. 100 % Browser — Ihr Token verlässt niemals Ihr Gerät. Keine Anmeldung, kein Tracking.

Kein Tracking Läuft im Browser Kostenlos
JWT-Token
Geprüft auf RFC-7519-Konformität und Datenschutzgarantien — Go Tools Security Team · Apr 22, 2026

Was ist ein JWT?

Ein JSON Web Token oder JWT (ausgesprochen „jot“) ist ein kompaktes, URL-sicheres Tokenformat für den Transport von Claims zwischen zwei Parteien. Es ist in RFC 7519 definiert und das dominierende Credential-Format für OAuth-2.0-Access-Token, OpenID-Connect-ID-Token, API-Schlüssel moderner Auth-Anbieter (Auth0, Okta, Clerk, Supabase, Firebase) und servicübergreifende Token in Microservice-Architekturen.

„JSON Web Token (JWT) ist ein kompaktes Darstellungsformat für Claims, das für platzbeschränkte Umgebungen wie HTTP-Authorization-Header und URI-Abfrageparameter konzipiert ist.“ — RFC 7519, Abschnitt 1

Ein JWT besteht aus drei Base64URL-kodierten JSON-Objekten, die durch Punkte verbunden sind: header.payload.signature. Der Header beschreibt, wie der Token signiert ist (der alg-Claim — zum Beispiel HS256 oder RS256 — und der typ-Claim, normalerweise „JWT“). Der Payload transportiert die Claims: registrierte Claims wie iss, sub, aud, exp, iat sowie beliebige benutzerdefinierte Claims, die der Aussteller benötigt (role, scope, email, tenant ID). Die Signatur ist ein kryptografischer Nachweis, berechnet über Header und Payload mit dem Geheim- oder privaten Schlüssel des Ausstellers, der dem Empfänger erlaubt, Manipulationen zu erkennen.

Entscheidend ist: Ein JWT ist kodiert, nicht verschlüsselt. Jeder mit dem Token kann den Payload lesen — Dekodierung ist lediglich Base64URL- und JSON-Parsing. Die Sicherheitsgarantie stammt aus der Signatur: Ein Angreifer kann einen JWT lesen, aber ohne den Signaturschlüssel keinen anderen JWT erzeugen, der die Signaturverifizierung besteht. Deshalb ist es sicher, JWTs über das Netzwerk zu übertragen, aber unsicher, Geheimnisse hineinzupacken.

Ein JWT-Dekodierer zeigt Ihnen exakt, was ein Token enthält — Algorithmus, Claims, Ablaufzeit — ohne die Signatur anzutasten. Es ist der schnellste Weg, die Fragen „Ist dieser Token abgelaufen?“, „Welche Rolle hat dieser Benutzer?“, „Welcher Aussteller hat diesen Token ausgegeben?“ oder „Ist dies ein alg:none-Token, den ich ablehnen sollte?“ zu beantworten. Die gesamte Dekodierung in diesem Tool läuft lokal in Ihrem Browser, sodass das Einfügen eines aktiven Produktions-Tokens sicher ist.

JWT-Arbeit geht oft Hand in Hand mit anderen Entwicklertools. Möglicherweise müssen Sie ein Base64URL-umhülltes Segment dekodieren, wenn Sie einen fehlerhaften Token debuggen, einen Authorization-Header URL-dekodieren, nachdem Sie ihn aus einem Proxy erfasst haben, oder den exp-Claim manuell in ein menschenlesbares Datum konvertieren. Für eine tiefere Erläuterung, wie JWTs in Produktion signiert, verifiziert und rotiert werden, lesen Sie unseren Base64-Grundlagen-Leitfaden — Base64URL ist das Fundament, auf dem jeder JWT aufbaut.

// Decode a JWT in the browser — header & payload only
function decodeJwt(token) {
  const [h, p, s] = token.split('.');
  const pad = (seg) => seg + '==='.slice((seg.length + 3) % 4);
  const decode = (seg) => JSON.parse(
    atob(pad(seg).replace(/-/g, '+').replace(/_/g, '/'))
  );
  return { header: decode(h), payload: decode(p), signature: s };
}

const { header, payload } = decodeJwt(token);
console.log(header);   // → { alg: 'HS256', typ: 'JWT' }
console.log(payload);  // → { sub: 'user_123', exp: 1999999999, ... }

// Expiration check
const expired = payload.exp * 1000 < Date.now();

Hauptfunktionen

JWT sofort dekodieren

Einfügen und JWT in Echtzeit dekodiert sehen — Header, Payload und Signatur werden direkt geparst. Keine Dekodieren-Schaltfläche, kein Umweg über einen Server.

Ablauf-Erkennung

Liest automatisch den exp-Claim und zeigt ein rotes Abzeichen, wenn der Token abgelaufen ist — mit exaktem Ablaufdatum in Ihrer lokalen Zeitzone.

Algorithmusunabhängig

Dekodiert jeden JWS-Algorithmus — HS256/384/512, RS256/384/512, PS256/384/512, ES256/384/512, EdDSA und alg:none.

100 % lokal

Die Dekodierung läuft in Ihrem Browser über natives atob und JSON.parse. Ihr Token wird niemals hochgeladen — sicher für Produktions-Credentials.

Claim-bewusste Anzeige

Hebt die registrierten RFC-7519-Claims (iat, exp, nbf, iss, aud, sub, jti) hervor, sodass Sie Auth-Probleme auf einen Blick erkennen.

Ein-Klick-Kopieren

Kopieren Sie das Header-JSON, Payload-JSON oder die rohe Signatur mit einem einzigen Klick in die Zwischenablage — perfekt für Bug-Reports und Tests.

Beispiele

HS256-Token (gültig)

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyXzEyMyIsIm5hbWUiOiJBbGljZSIsInJvbGUiOiJhZG1pbiIsImlhdCI6MTcxNTAwMDAwMCwiZXhwIjoxOTk5OTk5OTk5fQ.4NhxPjwoZxPNuxG-2C5ugGxaUsUJ0QyskAz7Ymz5Sg0
{
  "alg": "HS256",
  "typ": "JWT"
}

{
  "sub": "user_123",
  "name": "Alice",
  "role": "admin",
  "iat": 1715000000,
  "exp": 1999999999
}

Mit HMAC-SHA256 signierter Token mit Subject, Rolle und zukünftiger Ablaufzeit — das gebräuchlichste JWT-Setup für Sitzungsauthentifizierung.

RS256-Token (abgelaufen)

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImtleS0yMDI1LTAxIn0.eyJpc3MiOiJodHRwczovL2F1dGguZXhhbXBsZS5jb20iLCJhdWQiOiJhcGkuZXhhbXBsZS5jb20iLCJzdWIiOiI5MDA4NzE2NSIsImlhdCI6MTYwMDAwMDAwMCwiZXhwIjoxNjAwMDAzNjAwLCJzY29wZSI6InJlYWQ6dXNlciB3cml0ZTpwb3N0In0.signature_placeholder
{
  "alg": "RS256",
  "typ": "JWT",
  "kid": "key-2025-01"
}

{
  "iss": "https://auth.example.com",
  "aud": "api.example.com",
  "sub": "90087165",
  "iat": 1600000000,
  "exp": 1600003600,
  "scope": "read:user write:post"
}

RSA-signierter OAuth-Access-Token — beachten Sie die kid (Key-ID) im Header und den exp-Claim, der zeigt, dass der Token bereits abgelaufen ist.

OIDC-ID-Token

eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJzdWIiOiIxMTA1MDIyNTExNTU4OTkwNzY2Mzk1IiwiYXpwIjoiY2xpZW50LWlkIiwiYXVkIjoiY2xpZW50LWlkIiwiZW1haWwiOiJhbGljZUBleGFtcGxlLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJpYXQiOjE3MTUwMDAwMDAsImV4cCI6MTk5OTk5OTk5OSwibm9uY2UiOiJhYmMxMjMifQ.signature
{
  "alg": "ES256",
  "typ": "JWT"
}

{
  "iss": "https://accounts.google.com",
  "sub": "110502251155899076639",
  "azp": "client-id",
  "aud": "client-id",
  "email": "alice@example.com",
  "email_verified": true,
  "iat": 1715000000,
  "exp": 1999999999,
  "nonce": "abc123"
}

OpenID-Connect-ID-Token mit ECDSA-Signatur, E-Mail-Claims und einer Nonce zum Schutz vor Replay-Angriffen.

alg:none-Token (unsigniert)

eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJzdWIiOiJkZWJ1Zy11c2VyIiwiaWF0IjoxNzE1MDAwMDAwfQ.
{
  "alg": "none",
  "typ": "JWT"
}

{
  "sub": "debug-user",
  "iat": 1715000000
}

Unsignierter Token mit alg:none. Ihn in Produktion zu akzeptieren ist eine klassische JWT-Schwachstelle — lehnen Sie alg:none serverseitig stets ab.

Anleitung

  1. 1

    JWT zum Dekodieren einfügen

    Fügen Sie den vollständigen Token zum Dekodieren — einschließlich der drei durch Punkte getrennten Segmente — in das Eingabefeld ein. Der Dekodierer läuft sofort in Ihrem Browser; Sie müssen keine Schaltfläche klicken.

  2. 2

    Dekodierten Header, Payload und Status lesen

    Lesen Sie Algorithmus und Token-Typ im dekodierten Header, die Claims im dekodierten Payload sowie die Chips für Ablauf- und Ausstellungszeit oben. Ein abgelaufener Token wird rot gekennzeichnet.

  3. 3

    Dekodierte Ausgabe kopieren

    Verwenden Sie die Kopieren-Schaltfläche auf jedem Panel, um das dekodierte Header-JSON, das dekodierte Payload-JSON oder die rohe Signatur zu kopieren. Ihr Token wurde niemals versendet — die Dekodierung erfolgte lokal in Ihrem Browser.

Common Errors

alg:none akzeptieren

Ein unsignierter JWT kann von jedem gefälscht werden. Erlauben Sie alg:none niemals in Produktion — übergeben Sie stets eine explizite Algorithmusliste an Ihren verify-Aufruf.

✗ Falsch
jwt.verify(token, secret)  // library default may allow 'none'
✓ Richtig
jwt.verify(token, secret, { algorithms: ['RS256'] })

Fehlender exp-Claim

Ein JWT ohne exp lebt ewig. Wird ein Token jemals geleakt, gibt es keinen natürlichen Widerrufspunkt. Setzen Sie stets eine Ablaufzeit, die zum Tokentyp passt.

✗ Falsch
{ "sub": "user_123", "role": "admin" }  // no exp
✓ Richtig
{ "sub": "user_123", "role": "admin", "exp": 1715003600 }

Geheimnisse im Payload speichern

JWT-Payloads sind nicht verschlüsselt — jeder mit dem Token kann sie lesen. Legen Sie niemals Passwörter, API-Schlüssel oder ungekürzte PII in einen JWT-Payload.

✗ Falsch
{ "sub": "user_123", "password": "hunter2" }
✓ Richtig
{ "sub": "user_123", "role": "admin" }  // payload stays minimal

Häufige Anwendungsfälle

Authorization-Bearer-Token dekodieren
Dekodieren Sie JWT-Token aus Authorization: Bearer-Headern, um die Claims, Audience und Ablaufzeit zu überprüfen, die Ihr Backend empfängt.
OAuth 2.0- und OIDC-Token dekodieren
Dekodieren Sie Access-Token und ID-Token, die von Authorization-Servern (Auth0, Okta, Google, Keycloak) während der OAuth-2.0- und OpenID-Connect-Integration zurückgegeben werden.
Diagnose abgelaufener Sitzungen
Bestätigen Sie in einer Sekunde, ob ein abgelehnter Token abgelaufen ist, die falsche Audience verwendet oder ein Uhrzeitversatzproblem hat.
Überprüfung der Schlüsselrotation
Lesen Sie die kid (Key-ID) im Header, um zu verifizieren, dass Ihre JWKS-Rotation Token mit dem erwarteten Schlüssel ausgibt.
Sicherheitsüberprüfungen
Erkennen Sie Token, die mit alg:none signiert sind, fehlendes exp haben oder PII im Payload preisgeben — bei Code-Review und Pentest.
Inspektion von Microservice-Token
Dekodieren Sie Service-zu-Service-Token innerhalb eines Mesh, um zu sehen, welche Scopes und welchen Subject ein nachgelagerter Aufruf autorisiert.

Technische Details

RFC-7519-konform
Verarbeitet JWS-Token, die RFC 7519 (JWT), RFC 7515 (JWS) und RFC 7518 (JWA) entsprechen — alle registrierten Algorithmen werden zur Dekodierung unterstützt.
Base64URL-Dekodierung
Verwendet das URL-sichere Base64-Alphabet (- und _ statt + und /), das in RFC 4648 definiert ist, mit paddingtolerantem Parsing.
Browser-nativ, keine Abhängigkeiten
Aufgebaut auf den Browser-APIs atob, TextDecoder und JSON.parse — keine externen Bibliotheken, keine Netzwerkaufrufe, keine Telemetrie.

Best Practices

Niemals ohne Verifizierung vertrauen
Ein Dekodierer zeigt Claims; er beweist sie nicht. Verifizieren Sie die Signatur stets serverseitig gegen den Schlüssel des Ausstellers, bevor Sie einem Claim vertrauen.
alg:none in Produktion ablehnen
Konfigurieren Sie Ihre JWT-Bibliothek mit einer expliziten Allowlist von Algorithmen. Akzeptieren Sie niemals alg:none und seien Sie misstrauisch bei alg-Abweichungen während der Schlüsselrotation.
Payloads schlank halten
Legen Sie Identifikatoren und kurzlebige Claims in den JWT; halten Sie umfangreiche Daten hinter einer undurchsichtigen Session-ID. Große Token kosten bei jeder Anfrage Bandbreite.

Häufig gestellte Fragen

Wie dekodiere ich einen JWT-Token online?
Fügen Sie den vollständigen JWT — alle drei durch Punkte getrennten Segmente (header.payload.signature) — in den Dekodierer oben ein. Die Dekodierung erfolgt sofort in Ihrem Browser: Header und Payload werden mit Base64URL in lesbares JSON dekodiert, und die Signatur wird als Rohzeichenkette angezeigt. Eine Statuszeile zeigt den Signaturalgorithmus, die Ausstellungszeit und den Ablauf, damit Sie einen abgelaufenen Token auf einen Blick erkennen. Um einen JWT manuell zu dekodieren, teilen Sie den Token an den Punkten, dekodieren Sie die ersten beiden Segmente mit Base64URL und parsen Sie sie als JSON — jeder mit dem Token kann seine Claims lesen, weil der Payload kodiert, nicht verschlüsselt ist. Dieser Dekodierer kann bedenkenlos mit Produktions-Token verwendet werden, weil nichts Ihr Gerät verlässt: keine Netzwerkanfrage, kein Logging, kein Tracking.
Was ist ein JWT (JSON Web Token)?
Ein JSON Web Token (JWT) ist ein kompaktes, URL-sicheres Credential, das Claims zwischen zwei Parteien transportiert. Er ist in RFC 7519 definiert und besteht aus drei durch Punkte getrennten Base64URL-kodierten Abschnitten: dem Header (Algorithmus und Token-Typ), dem Payload (Claims — Daten über den Benutzer und den Token selbst) und der Signatur (ein kryptografischer Nachweis, dass der Token von einer vertrauenswürdigen Partei ausgestellt wurde). JWTs sind die Standardmethode, um Access-Token in OAuth 2.0 und ID-Token in OpenID Connect darzustellen.
Ist mein Token mit diesem JWT-Dekodierer sicher?
Ja. Die gesamte Dekodierung läuft in Ihrem Browser mittels nativem JavaScript (atob und TextDecoder). Ihr Token wird niemals an einen Server gesendet, niemals protokolliert, niemals gespeichert und niemals für Analysen verwendet. Es gibt keine Cookies und kein Tracking. Das ist wichtig, weil JWTs aktive Access-Token enthalten können — sie in einen entfernten Debugger einzufügen wäre gleichbedeutend mit der Herausgabe eines Credentials. Unser Tool kann bedenkenlos mit Produktions-Token verwendet werden.
Wie funktioniert ein JWT-Dekodierer?
Ein JWT-Dekodierer zerlegt den Token an den Punkten in drei Teile, dekodiert Header und Payload mit Base64URL und parst sie als JSON. Die Signatur bleibt als undurchsichtige Base64URL-Zeichenkette erhalten, weil ihre Verifizierung den Geheimschlüssel oder öffentlichen Schlüssel des Ausstellers erfordert — etwas, was ein clientseitiger Dekodierer nicht sicher leisten kann. Das bedeutet, die Dekodierung erfolgt sofort und legt die Claims offen, aber Sie müssen die Signatur serverseitig mit dem richtigen Schlüssel verifizieren, bevor Sie den Inhalten vertrauen.
Kann dieses Tool eine JWT-Signatur verifizieren?
Nein, und das ist bewusst so. Die Signaturverifizierung erfordert den Geheimschlüssel (bei HMAC) oder den öffentlichen Schlüssel (bei RSA/ECDSA/EdDSA) des Ausstellers, der niemals in ein öffentliches Webtool eingefügt werden sollte. Die Verifizierung muss auf Ihrem Server, in Ihrer Auth-Middleware oder innerhalb eines SDKs stattfinden, das Zugriff auf Ihren JWKS-Endpunkt hat. Dieser Dekodierer dient dazu, zu inspizieren, was ein Token behauptet — er impliziert nicht, dass der Token authentisch oder unverfälscht ist.
Was sind iat, exp, nbf, iss, aud, sub und jti?
Dies sind die registrierten Claims aus RFC 7519. iat (issued at) ist der Unix-Zeitstempel, an dem der Token erstellt wurde. exp (expiration) ist der Zeitpunkt, an dem der Token seine Gültigkeit verliert — dieses Tool konvertiert ihn in ein menschenlesbares Datum und markiert den Token als abgelaufen, wenn exp in der Vergangenheit liegt. nbf (not before) ist der früheste Zeitpunkt, zu dem der Token verwendet werden darf. iss (issuer) identifiziert den Ersteller des Tokens. aud (audience) nennt den vorgesehenen Empfänger. sub (subject) identifiziert den Principal — in der Regel eine Benutzer-ID. jti ist eine eindeutige Token-ID, die Replay-Angriffe verhindert. Anwendungsspezifische Claims (role, scope, email, name) stehen neben diesen.
Mein JWT ist abgelaufen — warum dekodiert ihn der Dekodierer trotzdem?
Dekodieren ist nicht dasselbe wie Validieren. Ein JWT-Dekodierer liest den Inhalt unabhängig von der Ablaufzeit, damit Sie einen abgelaufenen oder anderweitig ungültigen Token inspizieren können, um zu untersuchen, warum er abgelehnt wurde. Das „Abgelaufen“-Abzeichen in diesem Tool vergleicht den exp-Claim mit Ihrer lokalen Uhrzeit und kennzeichnet Token, deren exp in der Vergangenheit liegt. Ein echter Authentifizierungsserver würde den Token ohne Weiteres ablehnen — aber ein Dekodierer, der sich weigert, abgelaufene Token anzuzeigen, wäre zum Debugging nutzlos.
Was ist der Unterschied zwischen JWT, JWS und JWE?
JWT ist das allgemeine Konzept — ein als kompakter Token kodiertes JSON-Objekt. JWS (RFC 7515) ist ein signierter JWT: Der Payload ist für jeden lesbar, der ihn dekodiert, und eine Signatur beweist, dass er nicht manipuliert wurde. Dies ist bei weitem der häufigste JWT, dem Sie begegnen werden. JWE (RFC 7516) ist ein verschlüsselter JWT: Der Payload selbst ist Chiffretext und kann ohne den Entschlüsselungsschlüssel nicht dekodiert werden. Dieses Tool dekodiert JWS-Token. Ein JWE-Token wird nur bis zum Header dekodiert — der verschlüsselte Payload ist ohne den Schlüssel nicht lesbar.
Warum ist alg:none gefährlich?
Ein JWT mit alg:none hat keine Signatur — jeder kann einen erstellen und sich dabei als beliebiger Benutzer ausgeben. Frühe JWT-Bibliotheken akzeptierten alg:none standardmäßig, was zu einer bekannten Klasse von Authentifizierungs-Bypasses führte, bei denen ein Angreifer die Signatur entfernte, alg auf none setzte und einen Admin-Token fälschte. Jede ausgereifte JWT-Bibliothek lehnt alg:none heute ab, sofern es nicht explizit erlaubt ist, und Sie sollten es niemals für authentifizierte Anfragen akzeptieren. Dieser Dekodierer zeigt Ihnen dennoch einen alg:none-Token an, weil das Inspizieren während des Debuggings legitim ist — aber behandeln Sie jeden solchen Token, der in Produktion empfangen wird, als feindselig.
Welche Algorithmen unterstützt dieser JWT-Dekodierer?
Das Dekodieren von Header und Payload funktioniert für jeden Algorithmus, da die Dekodierung nur Base64URL und JSON-Parsing benötigt — sie ist algorithmusunabhängig. Das Tool liest Token korrekt, die mit HS256, HS384, HS512 (HMAC), RS256, RS384, RS512 (RSA + SHA), PS256, PS384, PS512 (RSA-PSS), ES256, ES384, ES512 (ECDSA), EdDSA (Ed25519/Ed448) signiert sind, sowie unsignierte Token (alg:none). Nur die Signaturverifizierung ist algorithmusspezifisch, und dieses Tool führt keine Verifizierung durch.
Sollte ich JWTs in localStorage oder Cookies speichern?
Bevorzugen Sie HttpOnly-, Secure-, SameSite=Strict-Cookies für Session-Token. Ein Token in localStorage ist für jedes JavaScript lesbar, das auf der Seite ausgeführt wird — eine einzige XSS-Schwachstelle würde also jede aktive Sitzung preisgeben. HttpOnly-Cookies sind für JavaScript unsichtbar, was den Schaden durch XSS auf das beschränkt, was ein Angreifer innerhalb einer aktiven Seite anrichten kann — nicht auf einen gestohlenen Token, den er tagelang erneut verwenden kann. Wenn Sie localStorage verwenden müssen (z. B. für domänenübergreifende Apps), halten Sie die Lebensdauer von Access-Token kurz (Minuten, nicht Stunden) und verwenden Sie ein separates Refresh-Token in einem HttpOnly-Cookie.
Wie dekodiere ich einen JWT in Node.js, Python oder Go?
Node.js: jsonwebtoken.decode(token) nur zum Lesen, jsonwebtoken.verify(token, key) zur Verifizierung. Python: PyJWT.decode(token, options={'verify_signature': False}) zum Lesen, übergeben Sie einen Schlüssel zur Verifizierung. Go: jwt.ParseUnverified(token, claims) nur zum Lesen, jwt.Parse(token, keyFunc) zur Verifizierung. Verifizieren Sie in keiner Sprache jemals mit options={'verify_signature': False} in Produktionscode — genau das macht dieses Webtool bewusst zum Debuggen, und es ist nur sicher, wenn Sie inspizieren und nicht authentifizieren.
Was ist die maximale Größe eines JWT?
Der JWT-Standard erlegt keine harte Grenze auf, aber Header in den meisten Webservern sind standardmäßig auf etwa 8 KB begrenzt. Halten Sie Token unter 4 KB, damit sie bequem in Authorization-Header und Cookies passen. Wenn Ihr Token größer ist, packen Sie wahrscheinlich zu viele Claims in den Payload — verlagern Sie umfangreiche Daten hinter eine undurchsichtige Session-ID und rufen Sie sie bei Bedarf aus Ihrem Backend ab. Aufgeblähte JWTs werden bei jeder Anfrage teuer, weil sie bei jedem API-Aufruf mitgeschickt werden.
Ich habe meinen Token eingefügt und erhalte „Ungültiges JWT-Format“ — was ist los?
Ein gültiges JWT besteht aus genau drei durch Punkte getrennten Teilen: header.payload.signature. Häufige Ursachen: (1) Sie haben versehentlich nur das Payload-Segment kopiert, (2) Leerzeichen oder Zeilenumbrüche wurden in die Mitte eingefügt, (3) der Token wurde beim Transport abgeschnitten (häufig bei Zeilenumbruch im Terminal), (4) der Token ist ein JWE, dessen Format header.encryptedKey.iv.ciphertext.tag (fünf Segmente) lautet, oder (5) der Token war URL-kodiert und Sie müssen ihn zuerst URL-dekodieren. Überprüfen Sie den Rohwert, den Ihre API zurückgegeben hat — die meisten Editoren zeigen unsichtbare Zeichen beim Hover an.
Kann ich einen JWT ohne den Geheimschlüssel dekodieren?
Ja — Header und Payload sind Base64URL-kodiert, nicht verschlüsselt. Jeder, der den Token besitzt, kann seine Claims ohne Schlüssel lesen. Das ist beabsichtigt: Der Payload soll lesbar sein, damit der Empfänger darauf basierend Autorisierungsentscheidungen treffen kann. Der Geheimschlüssel oder öffentliche Schlüssel wird nur benötigt, um zu verifizieren, dass der Token nicht manipuliert wurde. Deshalb dürfen Sie niemals sensible Daten (Passwörter, private Schlüssel, PII über das hinaus, was der Empfänger bereits kennt) in einen JWT-Payload einbetten.
Mein JWT funktioniert in Postman, aber mein Backend lehnt ihn ab — wie debugge ich das?
Dekodieren Sie den Token hier und prüfen Sie: (1) exp — liegt er relativ zur Server-Uhr in der Zukunft? Uhrzeitversatz des Servers ist ein häufiger Übeltäter. (2) iss / aud — stimmen sie exakt mit dem überein, was Ihr Backend erwartet? Eine Abweichung bei aud ist der häufigste False-Negative. (3) alg — erlaubt Ihr Verifizierungscode diesen Algorithmus? Ein HS256-Token scheitert an einer Bibliothek, die nur für RS256 konfiguriert ist. (4) kid — wenn Sie Schlüsselrotation verwenden, ist die Key-ID im Header in Ihrem JWKS vorhanden? (5) Signatur — haben Sie den richtigen Geheim-/öffentlichen Schlüssel eingefügt? Dieser Dekodierer macht (1), (2), (3) und (4) in den Header- und Payload-Ansichten sichtbar, sodass Sie sie schnell ausschließen können.

Verwandte Werkzeuge

Alle Werkzeuge anzeigen →

MD5-Hash-Generator & Datei-Prüfsummen-Tool

Sicherheitswerkzeuge

MD5-, SHA-256-, SHA-1- & SHA-512-Hashes online kostenlos generieren. Text oder Dateien im Browser hashen, Prüfsummen verifizieren und Ergebnisse kopieren. Ohne Anmeldung.

Zufallspasswort-Generator — Anpassbar, Stark & Sicher

Sicherheitswerkzeuge

Starke Zufallspasswörter sofort generieren — kostenlos, ohne Anmeldung, 100 % im Browser. Länge & Zeichentypen anpassen, bis zu 50 auf einmal. Stärkeanzeige mit Entropie-Analyse.

UUID-Generator & -Dekodierer — v1, v4, v5, v7 Stapelmodus

Sicherheitswerkzeuge

Kostenloser UUID-Generator — v1-, v4-, v5-, v7-UUIDs sofort erstellen. Beliebige UUID dekodieren & validieren. Bis zu 50 auf einmal. Ohne Anmeldung, 100 % browserbasiert.

Zahlensystem-Konverter — Binär, Hex, Dezimal & Oktal

Konvertierungswerkzeuge

Zahlen zwischen Binär, Hexadezimal, Dezimal, Oktal und beliebigen Basen (2–36) sofort konvertieren. Kostenlos, privat, ohne Anmeldung — alles läuft in Ihrem Browser.

Base64-Dekodierer & -Kodierer

Kodierung & Formatierung

Base64 online kostenlos dekodieren und kodieren. Echtzeitkonvertierung mit voller UTF-8- und Emoji-Unterstützung. 100 % privat — läuft in Ihrem Browser. Keine Anmeldung nötig.

Bilder Online Komprimieren — JPEG, PNG & WebP

Konvertierungswerkzeuge

Bildgröße um bis zu 80 % reduzieren — JPEG, PNG & WebP im Browser komprimieren, kein Upload nötig. Stapelverarbeitung für 20 Bilder, Qualität anpassen, Vorher-Nachher vergleichen. Kostenlos & privat.