JWT Beispiele zum Testen ohne echte Signatur
Ein JSON Web Token besteht aus drei durch Punkte getrennten Base64url-Teilen: Header, Payload und Signatur. Die Beispiele zeigen korrekt aufgebaute Token mit Rollen-Claim, ein abgelaufenes Token und kaputte Werte mit zwei Teilen oder ungültigen Zeichen. Die Signatur ist nur ein Platzhalterwort, die Token sind wertlos und ihre Inhalte erfunden.
17 Varianten auf einer Seite, jede mit eigenem Kopier- oder Download-Knopf. Darunter: 11× Fiktiv, 5× Absichtlich ungültig, 1× Öffentliches Beispiel.
JWT-Beispiel (HS256, Signatur = „signature“)Fiktiv
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuY29tIiwic3ViIjoidXNlci0wMDAxIiwiYXVkIjoiYmVpc3BpZWwtYXBwIiwiaWF0IjoxNzkxNTMyODAwLCJleHAiOjE3OTE1MzY0MDB9.c2lnbmF0dXJl
Header {"alg":"HS256","typ":"JWT"}, Payload sub user-0001, iat 2026-10-09T08:00:00Z, exp +1 h. Signatur ist das Wort „signature“, also wertlos.
JWT-Beispiel ohne Signatur (alg none)Fiktiv
eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuY29tIiwic3ViIjoidXNlci0wMDAxIiwiYXVkIjoiYmVpc3BpZWwtYXBwIiwiaWF0IjoxNzkxNTMyODAwLCJleHAiOjE3OTE1MzY0MDB9.
Header {"alg":"none","typ":"JWT"}, Payload mit sub user-0001. Endet mit Punkt und leerer Signatur. Server müssen alg none ablehnen.
JWT-Beispiel, abgelaufen (exp in der Vergangenheit)Fiktiv
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuY29tIiwic3ViIjoidXNlci0wMDAxIiwiYXVkIjoiYmVpc3BpZWwtYXBwIiwiaWF0IjoxNzkxNTI1NjAwLCJleHAiOjE3OTE1MjkyMDB9.c2lnbmF0dXJl
Header {"alg":"HS256","typ":"JWT"}, Payload exp 2026-10-09T07:00:00Z. Signatur ist das Wort „signature“, also wertlos. Abgelaufen.
JWT-Beispiel, noch nicht gültig (nbf in der Zukunft)Fiktiv
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuY29tIiwic3ViIjoidXNlci0wMDAxIiwiYXVkIjoiYmVpc3BpZWwtYXBwIiwiaWF0IjoxNzkxNTMyODAwLCJleHAiOjE3OTE1MzY0MDAsIm5iZiI6MTc5MTYxOTIwMH0.c2lnbmF0dXJl
Header {"alg":"HS256","typ":"JWT"}, Payload nbf 2026-10-10T08:00:00Z. Signatur ist das Wort „signature“, also wertlos. Noch nicht gültig.
JWT-Beispiel mit Rollen-ClaimFiktiv
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuY29tIiwic3ViIjoidXNlci0wMDAxIiwiYXVkIjoiYmVpc3BpZWwtYXBwIiwiaWF0IjoxNzkxNTMyODAwLCJleHAiOjE3OTE1MzY0MDAsInJvbGVzIjpbImt1bmRlIiwic3VwcG9ydCJdLCJzY29wZSI6Imxlc2VuIHNjaHJlaWJ …
Header {"alg":"HS256","typ":"JWT"}, Payload sub user-0001, roles ["kunde","support"], scope "lesen schreiben". Signatur ist das Wort „signature“, also wertlos.
JWT-Beispiel mit Umlaut im NamenFiktiv
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuY29tIiwic3ViIjoidXNlci0wMDAxIiwiYXVkIjoiYmVpc3BpZWwtYXBwIiwiaWF0IjoxNzkxNTMyODAwLCJleHAiOjE3OTE1MzY0MDAsIm5hbWUiOiJKw7ZyZyBNw7xsbGVyLUzDvGRlbnNjaGVpZHQifQ.c2lnbmF0dXJl
Header {"alg":"HS256","typ":"JWT"}, Payload name "Jörg Müller-Lüdenscheidt" (UTF-8 vor Base64). Signatur ist das Wort „signature“, also wertlos.
JWT-Beispiel mit Header RS256 und kidFiktiv
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImJlaXNwaWVsLXNjaGx1ZXNzZWwtMSJ9.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuY29tIiwic3ViIjoidXNlci0wMDAxIiwiYXVkIjoiYmVpc3BpZWwtYXBwIiwiaWF0IjoxNzkxNTMyODAwLCJleHAiOjE3OTE1MzY0MDB9.c2lnbmF0dXJl
Header {"alg":"RS256","typ":"JWT","kid":"beispiel-schluessel-1"}, Payload sub user-0001. Signatur ist das Wort „signature“, also wertlos. Ohne echten Schlüssel nicht prüfbar.
JWT-Beispiel für ein Refresh-Token (lange Laufzeit)Fiktiv
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuY29tIiwic3ViIjoidXNlci0wMDAxIiwianRpIjoicnQtMDAwMSIsImlhdCI6MTc5MTUzMjgwMCwiZXhwIjoxNzk0MTI0ODAwfQ.c2lnbmF0dXJl
Header {"alg":"HS256","typ":"JWT"}, Payload jti rt-0001, exp 2026-11-08T08:00:00Z (30 Tage). Signatur ist das Wort „signature“, also wertlos.
Kaputtes JWT mit nur zwei TeilenAbsichtlich ungültig
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuY29tIiwic3ViIjoidXNlci0wMDAxIiwiYXVkIjoiYmVpc3BpZWwtYXBwIiwiaWF0IjoxNzkxNTMyODAwLCJleHAiOjE3OTE1MzY0MDB9
Header und Payload ohne dritten Teil: ein gültiges JWT hat drei durch Punkte getrennte Teile (JWS Compact).
Kaputtes JWT ohne PunkteAbsichtlich ungültig
eyJpc3MiOiJodHRwczovL2V4YW1wbGUuY29tIiwic3ViIjoidXNlci0wMDAxIiwiYXVkIjoiYmVpc3BpZWwtYXBwIiwiaWF0IjoxNzkxNTMyODAwLCJleHAiOjE3OTE1MzY0MDB9
Nur ein Base64url-Block, keine Struktur Header.Payload.Signatur.
Kaputtes JWT mit ungültigen ZeichenAbsichtlich ungültig
abc.def.ghi!!!
Enthält Zeichen außerhalb von Base64url (!).
Kaputtes JWT aus zwei PunktenAbsichtlich ungültig
..
Nur Trennzeichen, alle drei Teile leer.
Dekodierter JWT-Header als JSONFiktiv
{ "alg": "HS256", "typ": "JWT" …Lesbare Form des Headers der Beispiel-JWTs; Base64url-Text beginnt mit eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
Dekodierter JWT-Payload als JSONFiktiv
{ "iss": "https://example.com", "sub": "user-0001", …Lesbare Form des Payloads der Beispiel-JWTs. iat entspricht 2026-10-09T08:00:00Z, exp eine Stunde später.
Base64url des JWT-Headers {"alg":"HS256","typ":"JWT"}Fiktiv
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
Erster Teil der HS256-Beispiel-JWTs.
Base64url des Wortes „signature“Absichtlich ungültig
c2lnbmF0dXJl
Die Signatur der Beispiel-JWTs: kein echter HMAC, daher bei Prüfung ungültig.
Registrierte JWT-Claims (RFC 7519)Öffentliches Beispiel
iss, sub, aud, exp, nbf, iat, jti
Die sieben registrierten Claim-Namen aus RFC 7519, Abschnitt 4.1.