JWT Decoder
Decodeer JWT-header en -payload veilig in de browser.
Over deze tool
Een JSON Web Token (RFC 7519) bestaat uit drie Base64url-gecodeerde segmenten gescheiden door punten: header, payload en signature. JWT Decoder splitst het token, decodeert de eerste twee segmenten naar JSON, formatteert ze en berekent de tijdgerelateerde claims (iat, exp, nbf) als menselijk leesbare timestamps. Standaard geregistreerde claims (iss, sub, aud, jti) worden gelabeld met hun betekenis. Decodering draait volledig in uw browser — uw token verlaat nooit de pagina.
De header vertelt u het ondertekenings-algoritme (alg: HS256, RS256, ES256, etc.) en de optionele kid (key ID). De payload bevat de application-claims — gebruikers-ID, rollen, vervaldatum. De signature wordt getoond als een Base64-blob; we verifiëren deze opzettelijk niet op deze pagina omdat verifiëren het geheim van de uitgever of publieke sleutel vereist, wat nooit in een derde-partij-tool moet worden geplakt. Het token wordt alleen als data behandeld.
Wanneer gebruikt u deze tool
- Een token van uw eigen dienst lezen. Inspecteer welke claims u werkelijk uitzendt — spot snel ontbrekende velden, verkeerde audiences of verrassende standaarden.
- "401 Unauthorized"-antwoorden debuggen. Controleer vervaldatum, uitgever, audience en scope tegen wat de server verwacht.
- Een derde-partij-integratie verifiëren. Wanneer een OAuth-provider u een ID-token overhandigt, decodeer de payload om te zien welke gebruikersclaims ze bundelen.
- Algoritme-verwarring spotten. Als
algnoneis of onverwacht verschilt tussen tokens, is uw auth-bibliotheek waarschijnlijk misgeconfigureerd.
Waarom we signatures niet valideren
JWT-signature-verificatie vereist het geheim (voor HMAC-algoritmen) of de publieke sleutel van de uitgever (voor RSA/ECDSA). Een van die twee in een webtool plakken is een beveiligingsfout — het geheim zou elk uitgegeven token compromitteren; de publieke sleutel, hoewel minder gevoelig, kan nog steeds privé zijn. De decoder bevestigt structuur en onthult claims; voor echte verificatie gebruikt u de SDK die met uw auth-bibliotheek wordt geleverd (jsonwebtoken, pyjwt, jose) binnen uw eigen code.
Veelgestelde vragen
Is het veilig om mijn JWT hier te plakken?
Waarom wordt de signature getoond maar niet geverifieerd?
Wat betekent "alg: none"?
alg: none bestaat in de spec maar zou nooit in productie mogen verschijnen — het is de hoofdoorzaak van de beroemde "JWT none-algorithm"-kwetsbaarheid waar een bibliotheek none als geldig accepteert. Als u het in een echt token van een echte dienst ziet, is dat een ernstige bug.
Wat is het verschil tussen exp, iat en nbf?
iat (issued-at) is wanneer het token werd aangemaakt. nbf (not-before) is het vroegste tijdstip waarop het token mag worden gebruikt — meestal gelijk aan iat maar kan in de toekomst liggen voor uitgestelde activering. exp (expiration) is wanneer het token niet meer geldig is. Alle drie zijn Unix-timestamps in seconden. Een goed gedragende verifier controleert nbf ≤ nu ≤ exp op elk verzoek.