acento.io
Dev-tool

JWT decoder

Plak een JWT token en zie header, payload en claims direct — volledig in je browser, zonder dat er iets naar een server wordt gestuurd.

Door Carlos Suárez , Systeemingenieur
Laatst bijgewerkt:

Wat deze JWT decoder doet

Een JSON Web Token (JWT, gedefinieerd in RFC 7519) bestaat uit drie Base64URL-gecodeerde delen: header, payload en handtekening. Base64-codering vergroot de payload met circa 33% — drie bytes worden vier tekens — maar maakt het token overdraagbaar in HTTP-headers en URL-parameters. Deze Nederlandse JWT decoder splitst dat token direct in je browser op in leesbare JSON, markeert standaardclaims zoals iss, sub, aud, exp, iat, nbf en jti, en toont de verloopstatus. Decode een JWT token, parse een access token of analyseer een bearer token: dit hulpmiddel doet het allemaal. 100% client-side — jouw gegevens verlaten nooit je browser. Geen uploads, geen tracking, geen serverlogs. Belangrijk: decoderen is niet hetzelfde als verifiëren. De handtekening controleren vereist de geheime of publieke sleutel. Plak die sleutel nooit in een online hulpmiddel van derden.

Functies

  • Directe token parse. Plak een JWT met of zonder 'Bearer '-prefix en de decoder splitst het direct op in header, payload en handtekening.
  • Standaardclaims uitgelicht. Claims als exp, iat, nbf, iss, sub, aud en jti worden automatisch herkend en leesbaar weergegeven met uitleg.
  • Verloopstatus in één oogopslag. De decoder vergelijkt exp met de huidige tijd en toont direct of het token nog geldig is of al verlopen.
  • Algoritme-informatie. De header toont het gebruikte algoritme — HS256, RS256 of ES256 — zodat je weet hoe het token ondertekend is.
  • Privacy by design. Alle verwerking vindt lokaal in je browser plaats. Geen netwerkaanvraag, geen server, geen log. Veilig voor tokens met persoonsgegevens.
  • Kopiëren met één klik. Kopieer de gedecodeerde header of payload direct naar het klembord voor gebruik in je tests of documentatie.

Zo gebruik je de JWT decoder

Plak je token, bekijk de claims en controleer de verloopstatus — klaar in seconden. Wil je snel in de terminal parsen? Gebruik dan echo $token | cut -d. -f2 | base64 -d | jq .

  1. Kopieer je JWT token. Haal het token op uit je OAuth-response, browser-devtools of applicatielogboek. De 'Bearer '-prefix mag erbij blijven.
  2. Plak in het invoerveld. De decoder herkent het formaat automatisch en toont header en payload als opgemaakte JSON.
  3. Controleer de claims. Bekijk iss en aud op mismatches, check exp op verlooptijd en lees custom claims van je auth-provider.
  4. Exporteer of kopieer. Gebruik de kopieerknop om de JSON-payload direct in je test-suite of ticket te plakken. In JavaScript doe je dit handmatig met JSON.parse(atob(token.split('.')[1])).

Veelvoorkomende toepassingen

  • OAuth debuggen. Controleer snel of een access token de juiste scope, aud en iss bevat tijdens het debuggen van een OAuth 2.0-flow met providers als Auth0, Okta of Azure AD.
  • Verlopen tokens opsporen. Bij 401-fouten in een API-integratie plak je het bearer token hier om direct te zien of exp al verstreken is, zonder je applicatie opnieuw te starten.
  • Integratietests voorbereiden. Valideer het tokenformaat en de aanwezigheid van vereiste claims voordat je integration tests schrijft — zo voorkom je false negatives door een foutief token.
  • AVG-compliance controleren. Sinds de invoering van de AVG moeten Nederlandse organisaties aantoonbaar omgaan met persoonsgegevens. Inspecteer of custom claims geen onnodige PII bevatten voordat het token in productie gaat.
  • Onboarding en documentatie. Laat collega's of nieuwe teamleden zien hoe een JWT is opgebouwd — een concreet token is duidelijker dan een abstracte RFC-uitleg.

Veelgestelde vragen

Is het veilig om tokens met persoonsgegevens hier te plakken?

Ja. Deze tool werkt volledig in je browser; er wordt niets naar een server verstuurd. Er zijn geen netwerkaanvragen, geen cookies, geen logs. Je kunt tokens met PII veilig inspecteren. Plak echter nooit je geheime sleutel of private key in een online hulpmiddel — die heb je hier ook niet nodig.

Wat is het verschil tussen een JWT decoderen en verifiëren?

Decoderen betekent de Base64URL-payload leesbaar maken — iedereen kan dat doen zonder sleutel. Verifiëren betekent controleren of de handtekening klopt met de geheime of publieke sleutel. Gebruik nooit gedecodeerde claims voor authenticatie zonder eerst de handtekening te verifiëren; dat is een bekende kwetsbaarheid. Zoals de WHATWG URL Living Standard laat zien, kan een klein formaatverschil grote gevolgen hebben — hetzelfde geldt voor tokens.

Waarom geeft de decoder een fout bij mijn token?

Controleer of het token exact drie delen heeft gescheiden door punten (header.payload.signature). Ontbrekende padding, extra spaties of een afgekapt token zijn veelvoorkomende oorzaken. Kopieer het token opnieuw rechtstreeks uit de netwerktab van je devtools.

Wat is het 'alg=none'-gevaar dat ik soms tegenkom?

Een JWT met "alg": "none" heeft geen handtekening. Kwetsbare servers accepteerden dit vroeger als geldig token, waardoor aanvallers willekeurige claims konden instellen. Dit staat bekend als de alg=none bypass. Controleer altijd server-side welk algoritme je verwacht — vertrouw nooit blindeling op de alg-waarde uit het token zelf.

Kan ik een versleuteld JWE-token hier decoderen?

Nee. JWE (JSON Web Encryption) is versleuteld en kan niet worden geopend zonder de private key. Dit hulpmiddel werkt alleen met ondertekende JWT-tokens (JWS). Als je een JWE ontvangt, heb je de bijbehorende sleutel nodig om te ontsleutelen.

Hoe werkt de tijdzone bij de exp-claim?

De exp-claim is een Unix-timestamp in seconden (UTC). De decoder vergelijkt deze waarde met de lokale systeemtijd van je browser. Tijdverschillen (clock skew) van een paar seconden tussen client en server kunnen leiden tot onterecht verlopen tokens — de meeste auth-bibliotheken hanteren daarom een tolerantie van 30–60 seconden.