🌐 NL

🔓 JWT-decoder

Plak een JWT (JSON Web Token) om de header en payload direct via base64url te decoderen naar mooi opgemaakte JSON. De claims exp/iat/nbf worden weergegeven als leesbare tijden, met een badge die aangeeft of het token verlopen is.

⚠️ Deze tool decodet alleen — de handtekening wordt niet geverifieerd. Er is bewust geen invoerveld voor een geheime sleutel om veiligheidsredenen. Gebruik voor handtekeningverificatie een server-side JWT-bibliotheek.

GIDS

Meer lezen

01

1. De structuur van JWT begrijpen

Een JWT heeft drie delen, gescheiden door punten: header.payload.signature. De header bevat het ondertekeningsalgoritme (alg) en het type token (typ); de payload bevat de daadwerkelijke claims (gebruikers-ID, rechten, uitgiftetijd, enz.), allemaal base64url-gecodeerd. De signature is de header+payload die is ondertekend met een secret (of private key) en dient om te verifiëren dat het token niet is aangepast - maar deze tool voert die verificatie niet uit.

02

2. De claims exp, iat en nbf

exp (verval) geeft aan wanneer het token verloopt, iat (issued at) wanneer het is uitgegeven, en nbf (not before) betekent dat het token vóór dat moment niet geldig is. Alle drie worden opgeslagen als Unix-timestamps (seconden) en zijn daardoor niet in één oogopslag leesbaar. Deze tool toont elk als lokale tijd en ISO 8601, en markeert een "Verlopen" badge als exp in het verleden ligt.

03

3. Wanneer je handtekeningverificatie nodig hebt

Het verifiëren van een JWT-handtekening vereist de secret waarmee deze is ondertekend (HMAC-familie, bijvoorbeeld HS256) of de bijbehorende publieke sleutel (RSA/ECDSA-familie, bijvoorbeeld RS256/ES256). Dat is een gevoelige actie die server-side thuishoort, dus deze browsertool decodet alleen (zodat je de inhoud kunt bekijken) en vraagt nooit om een secret. Voor echte verificatie gebruik je een backend JWT-bibliotheek (jsonwebtoken, PyJWT, firebase-admin, enz.).

Veelgestelde vragen

Kan deze tool worden gebruikt om een JWT te vervalsen?
Nee. Hij decodet alleen (base64url-decode) — hij genereert of verifieert nooit een handtekening. Een geldige handtekening vereist de secret/private key die alleen de uitgever kent, en deze tool accepteert die nooit.
Waarom is er geen invoerveld voor een geheime sleutel?
Om veiligheidsredenen. Secrets in browsertools plakken is een gewoonte die het risico op onbedoelde blootstelling vergroot, dus deze tool is zo ontworpen dat hij er helemaal nooit een accepteert.
Hoe kan ik zien of een token verlopen is?
Als de payload een exp-claim heeft, wordt die automatisch vergeleken met de huidige tijd en weergegeven als een badge "Verlopen" of "Geldig (nog niet verlopen)".
Wordt het token dat ik plak naar een server gestuurd?
Nee. Het decoderen gebeurt volledig in de JavaScript van je browser en wordt nooit naar een server gestuurd.