JWT-Decoder: JSON Web Token lesen und prüfen
Der JWT-Decoder zeigt, was in einem JSON Web Token steckt: Header, Payload und Signatur, dazu Aussteller, Ablaufzeit und Gültigkeit in Klartext. Wer das Secret oder den öffentlichen Schlüssel eingibt, kann sogar die Signatur prüfen. Das Token verlässt Ihren Browser nicht.
Quelle: §§ 2, 4.1 (Claims, NumericDate), IETF RFC 7519 – JSON Web Token (JWT). Stand: .
So wird gerechnet
Ein JSON Web Token (JWT) transportiert Angaben (Claims) zwischen zwei Parteien – typischerweise nach dem Login als Nachweis „dieser Nutzer ist angemeldet“. Es besteht aus drei durch Punkte getrennten Teilen: Header.Payload.Signatur (RFC 7519, RFC 7515).
JWT dekodieren – so geht's
- Token in das obere Feld einfügen (mit oder ohne „Bearer“).
- Header und Payload erscheinen sofort als lesbares JSON, darunter Ablaufzeit und Aussteller.
- Optional: unter „Secret oder öffentlicher Schlüssel“ den Schlüssel eintragen, dann prüft das Tool die Signatur.
Was im Token steht
- Header: Algorithmus (
alg, z. B. HS256 oder RS256) und Typ (typ). - Payload: die Claims. Registriert sind unter anderem
iss(Aussteller),sub(Subjekt),aud(Zielgruppe),exp(läuft ab),nbf(gültig ab),iat(ausgestellt) undjti(ID). Zeitangaben sind Sekunden seit 1970; das Tool zeigt sie als Datum in UTC. - Signatur: schützt vor Veränderung, wenn der Empfänger sie mit dem passenden Schlüssel prüft.
Wichtig: Lesen ist nicht Prüfen
Header und Payload sind nur base64url-kodiert, nicht verschlüsselt. Jeder, der ein Token sieht, kann es lesen – Passwörter oder andere Geheimnisse gehören nicht hinein. Ohne Signaturprüfung beweist der Inhalt nichts, denn jeder kann ihn ändern. Die Prüfung hier funktioniert mit HMAC-Secret (HS256/384/512) und öffentlichem Schlüssel (RS, PS, ES); ein Token mit alg: none ist nicht signiert.
Schutz vor Algorithm Confusion
Ein bekannter Angriff gibt dem Server ein Token mit alg: HS256, signiert mit dem öffentlichen Schlüssel als Secret. Deshalb verweigert das Tool die Prüfung, wenn ein öffentlicher oder privater Schlüssel als HS-Secret eingegeben wird (RFC 8725 empfiehlt, den Algorithmus nie allein dem Token zu entnehmen).
Grenzen
- Verschlüsselte Tokens (JWE, fünf Teile) lassen sich ohne Schlüssel nicht lesen; angezeigt wird nur der Header.
- Signaturprüfung für EdDSA und Zertifikate ist nicht enthalten. Ob ein Token für Ihre Anwendung gültig ist, entscheiden Aussteller, Zielgruppe und Ablaufzeit, die Ihr Server selbst prüfen muss.
- Produktive Tokens gehören nur auf Geräte, denen Sie vertrauen. Hier wird nichts gesendet oder gespeichert, doch ein abgelaufenes oder Test-Token ist die sicherere Wahl.
Häufige Fragen
Was ist ein JWT?
Ein JSON Web Token ist ein kompakter, URL-sicherer String aus drei Teilen (Header, Payload, Signatur). Er transportiert Claims wie Nutzer-ID oder Ablaufzeit und wird häufig als Zugangsnachweis nach dem Login verwendet.
Kann jeder den Inhalt eines JWT lesen?
Ja. Header und Payload sind nur base64url-kodiert, nicht verschlüsselt. Nur die Signatur schützt vor Veränderung, nicht vor dem Lesen. Legen Sie deshalb keine Geheimnisse in ein JWT.
Wie prüfe ich die Signatur eines JWT?
Tragen Sie unter „Secret oder öffentlicher Schlüssel“ bei HS256/384/512 das Secret ein, bei RS256, PS256 oder ES256 den öffentlichen Schlüssel als PEM oder JWK. Das Ergebnis erscheint bei „Signatur“.
Ist es sicher, mein Token in einen Online-Decoder einzufügen?
Dieser Decoder arbeitet vollständig in Ihrem Browser und sendet nichts. Trotzdem gilt: Ein gültiges Token ist ein Zugangsnachweis. Nutzen Sie nach Möglichkeit Test-Tokens oder bereits abgelaufene.
Was bedeuten exp, iat und nbf?
exp ist der Zeitpunkt, ab dem das Token abgelaufen ist, iat der Zeitpunkt der Ausstellung und nbf der Zeitpunkt, ab dem es gültig ist. Alle drei sind Sekunden seit dem 1.1.1970 UTC.
Warum zeigt das Tool „nicht geprüft“?
Ohne Schlüssel gibt es nichts, womit sich die Signatur prüfen ließe. Der Inhalt wird dann nur gelesen. Auch bei nicht unterstützten Algorithmen oder unpassenden Schlüsselformaten bleibt die Prüfung aus.
Quellen und Rechtsgrundlagen
- §§ 2, 4.1 (Claims, NumericDate): IETF RFC 7519 – JSON Web Token (JWT)
- §§ 3, 7.1, Anhang A.1 (Testbeispiel HS256): IETF RFC 7515 – JSON Web Signature (JWS)
- § 3 (HS, RS, ES, PS): IETF RFC 7518 – JSON Web Algorithms (JWA)
- §§ 2.1, 3.1 (Algorithmus-Verwechslung, Algorithmus pruefen): IETF RFC 8725 – JSON Web Token Best Current Practices
- W3C Web Cryptography API (SubtleCrypto.verify)
Stand: · So prüfen wir
Passende Werkzeuge
- Base64 kodieren und dekodierenBase64 und Base64url kodieren/dekodieren mit korrektem UTF-8, dazu URL-Encode/Decode (Prozent-Kodierung). Mit Fehlerprüfung, lokal im Browser.
- Hash-Generator: SHA-256, SHA-512, SHA-1, MD5SHA-256, SHA-384, SHA-512, SHA-1 und MD5 von Text oder Datei berechnen und Prüfsummen vergleichen – lokal im Browser, ohne Upload, kostenlos.
- JSON formatieren, validieren und minifizierenJSON online prüfen nach RFC 8259: Fehler mit Zeile, Spalte und klarer Erklärung, schön formatieren oder minifizieren, Schlüssel sortieren. Lokal im Browser.
- Unix-Zeitstempel umrechnenUnix-Timestamp in Datum umrechnen und zurück: Sekunden, Millisekunden, Mikro- und Nanosekunden automatisch erkannt, Ausgabe in UTC, Ortszeit, ISO 8601.
- UUID-Generator: UUID v4 und v7 erzeugen und prüfenUUIDs online erzeugen: Version 4 (zufällig) oder Version 7 (zeitsortiert), bis zu 1000 auf einmal. UUID prüfen und Version, Variante und Zeitpunkt auslesen.
- Passwort-GeneratorSichere Passwörter und merkbare Passphrasen aus deutschen Wörtern erzeugen – mit Entropie in Bit, direkt im Browser, nichts wird gesendet oder gespeichert.
- Wie ist meine IP-Adresse?Öffentliche IP-Adresse herausfinden: Ihre IPv4 und IPv6 sofort sehen, dazu ungefährer Standort, Internetanbieter und Browser-Daten. Nichts wird gespeichert.
- JSON escape / unescapeJSON escape und unescape online: Text in einen gültigen JSON-String mit maskierten Anführungszeichen, Backslashes und Umbrüchen umwandeln oder zurück.
- IEEE 754 RechnerIEEE 754 Rechner für Half, Single und Double: Dezimalzahl, Hex oder Bits umrechnen, Vorzeichen, Exponent, Mantisse und exakten gespeicherten Wert anzeigen.