Zo gebruik je het
- Plak de token — met of zonder het voorvoegsel "Bearer ". De drie delen krijgen elk een eigen kleur.
- Lees de gedecodeerde header en payload. De claims iat, nbf en exp worden getoond als datum met relatieve tijd.
- Wil je de handtekening verifiëren, voer dan het geheim in voor HS256/384/512, of plak de publieke sleutel (PEM of JWK) voor RS-, PS-, ES- en EdDSA-tokens.
- Kopieer de gedecodeerde JSON als je hem elders nodig hebt.
Opties uitgelegd
- Header
- Metadata over de token, meestal alg (het ondertekeningsalgoritme) en typ. Een kid-veld laat zien welke sleutel de token heeft ondertekend.
- Payload
- De claims. Geregistreerde claims zijn onder meer sub (subject), iss (issuer), aud (audience), iat (issued at), nbf (not before) en exp (expiry), allemaal tijden in Unix-seconden.
- Handtekening
- Bewijst dat header en payload niet zijn gewijzigd. Om dit te controleren is het geheim (HMAC) of de publieke sleutel van de uitgever (RSA, ECDSA, EdDSA) nodig.
- Geheim is Base64-gecodeerd
- Sommige diensten slaan HMAC-geheimen Base64-gecodeerd op. Vink dit aan als het geheim dat je hebt de gecodeerde vorm is.
Veelgebruikte claims
| Claim | Betekenis | Voorbeeld |
|---|---|---|
sub |
Over wie de token gaat (gebruikers-ID) | "1234567890" |
iss |
Wie de token heeft uitgegeven | "https://accounts.example.com" |
aud |
Voor wie de token bedoeld is | "my-api" |
exp |
Vervaltijd, Unix-seconden | 1790427600 |
iat |
Uitgegeven op, Unix-seconden | 1790424000 |
nbf |
Niet geldig vóór, Unix-seconden | 1790424000 |
jti |
Unieke token-ID, voorkomt replay | "a1b2c3" |
Voorbeeld
De token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c decodeert naar de header {"alg":"HS256","typ":"JWT"} en een payload met sub, name en iat (18 januari 2018). Met het geheim your-256-bit-secret klopt de handtekening.
Veelgestelde vragen
Is het veilig om hier een productie-JWT te plakken?
De token wordt gedecodeerd door JavaScript in je browser en wordt niet geüpload of gelogd. Behandel toegangstokens toch als wachtwoorden — wie een geldige token in handen krijgt, kan hem gebruiken totdat hij verloopt.
Bewijst het decoderen van een JWT dat hij echt is?
Nee. Header en payload zijn alleen Base64URL-gecodeerd, dus iedereen kan ze lezen of vervalsen. Alleen een succesvolle handtekeningcontrole met de juiste sleutel toont dat de token door de verwachte partij is uitgegeven.
Waarom mislukt de verificatie met het juiste geheim?
Controleer of het geheim Base64-gecodeerd is, of er geen spatie of regeleinde aan het einde staat, en of het algoritme in de header overeenkomt met wat de uitgever gebruikt. Elke wijziging aan de token, ook al is het één teken, breekt ook de handtekening.
Wat betekent "alg none"?
De token claimt niet ondertekend te zijn. Servers moeten zo'n token afwijzen behalve als ze dat expliciet verwachten; het accepteren ervan heeft al tot echte authenticatie-lekken geleid.
Hoe krijg ik de publieke sleutel voor RS256-tokens?
Identity providers publiceren hun sleutels als JWKS, meestal op /.well-known/jwks.json. Kopieer de sleutel waarvan de kid overeenkomt met de header van de token en plak hem hier als JWK.
Privacy
Deze tool draait volledig in je browser. Je bestanden en tekst worden op je eigen apparaat verwerkt en nooit naar onze servers geüpload.