100 % lokal — Ihre Daten verlassen nie Ihren Browser

JWT zu JSON — die Claims darin lesen

Header und Payload eines JWT dekodieren, Signatur ungeprüft. Sie lesen exp, iss und die Scopes — meist genau das, was das Abweisen erklärt.

Sofort Privat Null Cookies
Einrückung

JWT-Eingabe

JSON-Ausgabe

Was dieses Werkzeug tut

Ein Token hinein, sein Kopf und seine Nutzlast als JSON heraus.

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.SflKxwRJSMeKKF2QT4fwpM
{
  "header": {
    "alg": "HS256",
    "typ": "JWT"
  },
  "payload": {
    "sub": "1234567890"
  }
}

Beide Segmente stehen in Base64URL, einer Kodierung und keiner Verschlüsselung: wer das Token hat, kann sie lesen, hier oder mit drei Zeilen Code. Die Signatur wird nirgends gezeigt, weil darin nichts zu lesen ist — sie ist ein Beweis, und Beweisen braucht einen Schlüssel.

Dekodieren ist nicht prüfen

Die Nutzlast oben sagt, das Subjekt sei 1234567890. Dass sie es sagt, beweist nichts: ändern Sie den Text, kodieren Sie ihn neu, und Sie haben ein Token, das sich genauso sauber dekodiert und bei der Prüfung durchfällt. Diese Seite kann den Unterschied nicht sehen, und kein Dekoder kann es — dafür ist die Signatur da.

Also: ein Dekoder zeigt, was ein Token behauptet; Ihr Server und Ihr Schlüssel entscheiden, ob man ihm glaubt. Widersprechen sich die beiden je, hat die Signatur recht.

Drei Segmente, und nur drei

Not a JWT: expected header.payload.signature, found 2 segments

Ein kompaktes JWT hat genau drei. Zwei oder vier wurden trotzdem dekodiert: ein beim Kopieren gekürztes Token kam tadellos aussehend zurück — ein Fehler, beim Schreiben dieser Seite gefunden und behoben. Fünf Segmente sind ein anderes Format: ein JWE, dessen Nutzlast verschlüsselt statt kodiert ist, und die Meldung sagt das, statt am Dekodieren zu scheitern.

Die Nutzlast lesen

  • Lange numerische Kennungen überleben. Ein sub mit zwanzig Stellen geht Ziffer für Ziffer durch, statt von einer JavaScript-Zahl auf einen Nachbarn gerundet zu werden.
  • exp, iat und nbf sind Unix-Zeitstempel. In Sekunden, nicht Millisekunden, so will es die Spezifikation. Das Zeitstempel-Werkzeug dieser Seite macht Daten daraus.
  • Die Claims sind, was der Aussteller hineingeschrieben hat. alg, typ, sub, iss und aud sind genormt; der Rest ist eine Abmachung zwischen Ihren beiden Enden.

Datenschutz ab Werk

Alles läuft lokal in deinem Browser mit JavaScript. Deine Daten werden nie hochgeladen, wodurch das Tool auch für sensible Inhalte sicher ist und offline funktioniert.

Häufige Fragen

Wird die Signatur geprüft?
Nein, und kein Browser-Werkzeug kann das: Prüfen braucht das Geheimnis oder den öffentlichen Schlüssel, also genau das, was man nirgends einfügen sollte. Dekodieren sagt Ihnen, was das Token behauptet; Prüfen sagt Ihnen, ob Sie es glauben sollen. Die Nutzlast, die Sie hier sehen, kann jeder getippt haben — Base64URL ist eine Kodierung, kein Schutz. Prüfen Sie serverseitig, mit Ihrem Schlüssel.
Wird mein Token irgendwohin gesendet?
Nein. Das Dekodieren läuft in Ihrem Browser, und nichts verlässt die Seite — gut zu wissen, denn ein Produktions-Token, das in einen Online-Dekoder eingefügt wird, ist ein Zugangsmittel, das man einem Fremden gibt. Nehmen Sie trotzdem lieber ein abgelaufenes oder ein Testtoken, wenn es geht: diese Seite kann nichts über den Rechner versprechen, an dem Sie sitzen.
Warum wird mein Token abgelehnt?
Weil es nicht drei Segmente hat. Ein JWT in kompakter Form ist `header.payload.signature`, und zwei oder vier Segmente wurden trotzdem dekodiert: ein beim Kopieren abgeschnittenes Token kam zurück, als sei alles in Ordnung. Fünf Segmente sind ein JWE — seine Nutzlast ist verschlüsselt, nicht bloß kodiert, und ohne Schlüssel liest sie niemand. Die Meldung sagt jetzt, in welchem Fall Sie sind.

Ähnliche Konverter