Krypto-Tools·7 Min

JWT-Tokens dekodieren: Ein Leitfaden für Entwickler

Lernen Sie, JWT-Tokens zu dekodieren, um Header, Payload und Claims zu prüfen. Inklusive kostenlosem Browser-Decoder.

Was ist ein JWT und warum dekodiert man es?

Ein JSON Web Token (JWT) ist ein kompaktes, URL-sicheres Token-Format, das verwendet wird, um Claims zwischen zwei Parteien zu übertragen — am häufigsten zwischen Client und Server. Ein JWT besteht aus drei Base64URL-kodierten Teilen, die durch Punkte getrennt sind: Header, Payload und Signature.

Ein JWT zu dekodieren bedeutet, den Header und das Payload zu lesen, um zu verstehen, welche Claims es trägt. Das ist wesentlich, um Authentifizierungsabläufe zu debuggen, Tokens in API-Antworten zu inspizieren oder zu verstehen, welche Daten in Ihrem Namen gesendet werden. Wichtig: Dekodieren verifiziert die Signatur nicht — dafür benötigen Sie den geheimen Schlüssel oder den öffentlichen Schlüssel der ausstellenden Partei.

Häufige Anwendungsfälle

  • Auth-Flows debuggen: Tokens prüfen, die von Login-APIs zurückgegeben werden
  • Claims auditieren: Ablauf, Aussteller, Zielgruppe und benutzerdefinierte Felder prüfen
  • Lokale Entwicklung: Tokens lesen, die in localStorage oder Cookies gespeichert sind
  • Lernen: Authentifizierung in modernen Web-Apps verstehen
  • Sicherheitsreviews: Versehentlich im Token enthaltene sensible Daten aufspüren

Methode 1: Den kostenlosen JWT-Decoder von UtilBoxx verwenden (Empfohlen)

Unser JWT-Decoder parst jedes JWT und zeigt Header und Payload in lesbarem Format an, mit Zeitstempeln in menschliche Daten umgewandelt. So verwenden Sie ihn:

  1. Gehen Sie zu utilboxx.com/de/tools/crypto/jwt
  2. Fügen Sie Ihr JWT in das Eingabefeld ein
  3. Header und Payload werden sofort dekodiert
  4. Prüfen Sie Ablauf, Ausstellungszeit und andere Claims
  5. Kopieren Sie jeden Abschnitt mit einem Klick

Warum diese Methode funktioniert:

  • Läuft vollständig in Ihrem Browser — das Token verlässt Ihr Gerät nicht
  • Formatiert JSON automatisch für Lesbarkeit
  • Markiert abgelaufene und bald ablaufende Tokens
  • Mobilfreundlich mit großen Textfeldern
  • 100% kostenlos, keine Registrierung, kein Tracking

Methode 2: jwt.io verwenden

Die Seite jwt.io (von Auth0) ist ein beliebter JWT-Spielplatz. Fügen Sie ein Token ein, und es dekodiert Header und Payload, optional mit Signaturprüfung, wenn Sie den geheimen Schlüssel angeben. Weit verbreitet und unterstützt Algorithmen vieler Bibliotheken.

Methode 3: In Ihrer Lieblingssprache dekodieren

In Node.js mit der Bibliothek `jsonwebtoken`:

```javascript const jwt = require('jsonwebtoken'); const decoded = jwt.decode('eyJhbGciOi...', { complete: true }); console.log(decoded.header); console.log(decoded.payload); ```

In Python mit der Bibliothek `PyJWT`:

```python import jwt payload = jwt.decode("eyJhbGciOiOi...", options={"verify_signature": False}) print(payload) ```

Die Option `verify_signature: False` ist entscheidend — sie weist die Bibliothek an, ohne Signaturprüfung zu dekodieren, genau das, was Sie zur Inspektion wollen.

Häufig gestellte Fragen

Ist es sicher, ein JWT online zu dekodieren?

Dekodieren ist sicher, da der Inhalt nicht geheim ist — er ist nur Base64URL-kodiert, nicht verschlüsselt. Dennoch: Fügen Sie Produktions-Tokens nicht in nicht vertrauenswürdige Dienste ein, wenn diese sensible Daten enthalten könnten. Der UtilBoxx-Decoder läuft lokal im Browser, das Token verlässt Ihr Gerät nicht.

Kann man einem dekodierten JWT vertrauen?

Nein. Dekodieren zeigt die Claims, verifiziert aber nicht die Signatur. Ein Token kann dekodierbar und trotzdem nicht authentisch sein. Verifizieren Sie immer die Signatur mit dem geheimen oder öffentlichen Schlüssel des Ausstellers, bevor Sie einem Claim vertrauen.

Was ist der Unterschied zwischen Dekodieren und Verifizieren?

Dekodieren liest den Inhalt. Verifizieren nutzt einen kryptografischen Schlüssel, um zu bestätigen, dass das Token von einer vertrauenswürdigen Partei ausgestellt und nicht verändert wurde. Für lokale Inspektion reicht Dekodieren. Für Sicherheitsentscheidungen ist Verifikation nötig.

Welche Claims sind üblicherweise in einem JWT enthalten?

Standardclaims sind `iss` (Aussteller), `sub` (Subjekt), `aud` (Zielgruppe), `exp` (Ablauf), `iat` (Ausgestellt am) und `nbf` (Nicht vor). Benutzerdefinierte Claims variieren je nach Anwendung, z. B. `role`, `email` oder `user_id`.

Fazit

JWTs zu dekodieren ist eine Routineaufgabe für Entwickler. Für eine schnelle, private Browser-Erfahrung ist der JWT-Decoder von UtilBoxx das einfachste Tool, das man in den Lesezeichen behält.