Het Volade-ecosysteem — Webtool

JWT-encoder / -decoder

JWT direct decoderen: header, payload en handtekening als ingesprongen JSON met herkende claims, verificatie van de handtekening HS256 met een geheim of RS256 / ES256 met een openbare PEM-sleutel, coderen en tekenen van een nieuwe token, omzetten van vervaldata naar leesbare datums. Gratis, zonder registratie en 100 % lokaal: je token verlaat nooit je browser.

6 verwerkingsmodi0 byte naar de server gestuurd∞ tokens, zonder limiet op de grootte
De tool

Jouw JWT-decoder online

Plak een token, een header, een payload of een tekenreeks uit een Authorization-header: de decodering werkt bij elke toetsaanslag bij, zonder knop « Omzetten ».

JWT-encoder / -decoder

Online Ontwikkeling, Code & Data
Inloggen
Sneltoetsen: Ctrl+Enter berekenen
Klaar.

                  

                  
De handtekening wordt niet ontsleuteld: die verifieer je met het geheim of de openbare sleutel in het tabblad « Verifiëren ».
ClaimWaardeTypeRol
Decoderen, verifiëren en tekenen gebeuren terwijl je typt · Ctrl+Enter berekent het actieve tabblad opnieuw · Ingebouwde WebCrypto, geen externe bibliotheek · 100 % lokaal, niets verlaat je apparaat.
0,0 0Reactie Alle tools
Gratis of Premium?

De JWT-decoder is gratis en onbeperkt: geen account, niets om te installeren, geen netwerkverkeer. Premium ontgrendelt het hele Volade-ecosysteem.

GratisDecoderen van header, payload en claims in realtime
GratisVerificatie HMAC HS256 / HS384 / HS512 en openbare PEM-sleutel
GratisCoderen en tekenen van nieuwe tokens, omzetten van vervaldata
PremiumVersleutelde cloudsynchronisatie van geschiedenis en snippets
PremiumAPI-toegang en scripts die tussen de tools van het ecosysteem worden gedeeld
Premium ontgrendelen
Functies

JWT decoderen, verifiëren en coderen, zonder limiet

Eén motor dekt het lezen, de integriteitscontrole en het maken van tokens — zonder je apparaat ooit te verlaten.

Header, payload en handtekening decoderen

Plak een token — ook in hoofdletters, met Bearer-prefix of aanhalingstekens — en header en payload verschijnen als ingesprongen JSON terwijl je typt. Elke claim wordt met waarde, type en rol gelist, tijdstempels worden omgezet naar ISO 8601 en naar resterende tijd, en de meegeleverde handtekening wordt getoond zoals die is.

Nu decoderen

Een handtekening echt verifiëren

De controle is geen cosmetiek: de MAC wordt op de exacte tekenreeks header.payload herberekend en daarna via constante vergelijking met de handtekening vergeleken. HS256, HS384 en HS512 gebruiken het gedeelde geheim; RS256, RS384, RS512, ES256, ES384 en PS512 gebruiken de openbare PEM-sleutel in SPKI-formaat. Het oordeel is expliciet: geldig, ongeldig of ontbrekende informatie.

Een handtekening verifiëren

Volledige vertrouwelijkheid

Geen netwerkverkeer: decoderen, verifiëren en tekenen gebeuren volledig in je browser, ook offline. Perfect voor een productietoken, een staging-sleutel of een sessietoken met een identificatie die je aan niemand toevertrouwt — ook aan de tool zelf niet.

Meer info
Hoe het werkt

Een token in drie stappen decoderen, verifiëren of maken

Geen installatie, geen registratie: de tool is altijd klaar, mobiel én op je bureau.

Plak de token

Haal de waarde op na « Authorization: Bearer » of uit je cookie, plak die in het tabblad « Decoderen »: de drie segmenten worden gescheiden en meteen gedecodeerd. Een Bearer-prefix, aanhalingstekens of een regeleinde worden automatisch verwijderd.

Controleer de integriteit

Ga naar « Verifiëren », kies het algoritme dat de header aangeeft, voer het geheim of de openbare sleutel in: de tool herberekent de MAC en toont het oordeel. Dat is de stap die iedereen overslaat — en de enige die de inhoud echt beschermt.

Maak een token

In « Encoderen » pas je de payload aan, stel je exp en iat in via het tabblad « Vervaldatum » en teken je met HS256: de token verschijnt klaar om te kopiëren. De lokale geschiedenis bewaart je laatste tokens om met één klik opnieuw te laden.

Snelreferentie

Een JWT in één oogopslag

Wat de meeste ontwikkelaars controleren voordat ze een token lezen — met de volledige anatomie in het tabblad « Anatomie & referentie ».

SegmentRolCoderingVoorbeeld
1header (alg, typ)Base64URLeyJhbGciOiJIUzI1NiJ9
2payload (claims)Base64URLeyJzdWIiOiIxMjM0NTY3ODkwIn0
3handtekeningBase64URLSflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV…
expvervaldatumUnix (s)1793827200 → 2026-11-04
HS256HMAC + SHA-256gedeeld geheim32 bytes minimum
RS256RSA + SHA-256openbare PEM-sleutelasymmetrische verificatie
« + » in Base64—Base64URLvervangen door « - »
« / » in Base64—Base64URLvervangen door « _ »

Wat betekent « JWT decoderen »?

Een JWT decoderen (« jwt decode », « decode jwt online ») betekenen de tekenreeks bij de dubbele punten splitsen en daarna elk Base64URL-segment decoderen om de oorspronkelijke JSON terug te vinden. Er is geen sleutel nodig: header en payload zijn alleen gecodeerd, niet versleuteld. Dat is precies de intentie achter « jwt payload decoder » of « decode jwt without verify » — zien wat er in de token zit, zonder te beweren dat die echt is.

Let goed op het verschil tussen beide handelingen. Lezen een JWT bewijst niets: iedereen kan een token met aantrekkelijke payload maken en die met zijn eigen geheim tekenen. Verifiëren de handtekening bewijst dat de inhoud niet door derden is gewijzigd. Een decoder die « admin: true » toont zonder handtekeningcontrole vertelt je een verhaal, geen feit.

De drie segmenten van een JWT

De tekenreeks splitst precies in drie door punten gescheiden delen: header.payload.signature. De header bevat minimaal alg en typ, soms kid om aan te geven welke sleutel is gebruikt. De payload bevat de claims, deze sleutel-waarde-paren waarvan het register door de IANA wordt bijgehouden. De handtekening dekt de eerste twee segmenten aan elkaar geplakt precies zoals ze geschreven zijn — elke wijziging van een spatie of teken laat de vergelijking falen.

Het hele punt is dat deze segmenten Base64URL zijn en geen Base64: het plusteken wordt een streepje, de schuine streep een underscore en het padding = vervalt. Een klassieke Base64-decoder faalt dus op een geldig JWT. De tabel « Base64URL versus klassiek Base64 » in het tabblad referentie toont precies deze vervangingen.

Een handtekening verifiëren: HS256, RS256, ES256

Voor een algoritme HMAC — HS256, HS384, HS512 — dient hetzelfde geheim om te tekenen én te verifiëren: de tool berekent HMAC(secret, base64url(header) + "." + base64url(payload)) en vergelijkt het resultaat met de meegeleverde handtekening. Dat is het meest voorkomende én gevaarlijkste geval: elke dienst die het geheim bezit kan een token uitgeven. Een geheim van minder dan 32 bytes, hergebruikt tussen omgevingen, is genoeg om de hele keten te compromitteren.

Voor de algoritmen asymmetrische — RS256, RS384, RS512, ES256, ES384, ES512, PS256 — heb je voor verificatie alleen de openbare sleutel nodig, zodat je een door derden uitgegeven token controleert zonder het ondertekeningsgeheim ooit te delen. Plak de sleutel in PEM-formaat -----BEGIN PUBLIC KEY----- (SPKI); het ruwe resultaat van een OpenSSL-export is direct bruikbaar. Bij ES256 staat de handtekening in ruw r||s-formaat, precies zoals WebCrypto verwacht.

Tot slot moet je oppassen voor de alg confusion : als je dienst RS256 verwacht maar een token accepteert waarvan de header HS256 aangeeft, tekent een aanvaller met de openbare sleutel — die daarmee een HMAC-sleutel wordt — en slaagt de verificatie. Leg het verwachte algoritme serverzijdig vast en lees het nooit uit de token zelf.

exp, iat, nbf: de tijdstempels die valkuilen verbergen

Deze drie claims zijn Unix-seconden, zonder milliseconde en zonder tijdzone: iat « 1516239022 » betekent 2018-01-17T21:30:22Z. Twee fouten komen steeds terug: vergelijken met een datum in milliseconden (waarde tienduizend keer te groot) en een timestamp lokaal in plaats van in UTC interpreteren. Het tabblad « Vervaldatum » rekent in beide richtingen en toont de ISO 8601, de lokale datum en de resterende of verstreken tijd — zo herken je een « al verlopen » token direct tot op de seconde.

De levensduur verlengen verhoogt de beveiliging niet: een exp opgeschoven waarde wijzigt de getoonde waarde, niet de handtekening. Als je opnieuw moet uitgeven, teken je de token opnieuw met het geheim of de privésleutel — dat is precies de rol van het tabblad « Encoderen ».

Base64URL: waarom klassieke decoders falen

Base64URL (RFC 4648 §5) gebruikt het alfabet A-Z a-z 0-9 - _ en kent geen padding. Een payload van 20 tekens levert na het verwijderen van het = : dat is normaal, geen corruptie. De tekens - en _ zijn dubbelzinnig voor het menselijk oog, en dat verklaart de helft van de gemelde « kapotte tokens ». Onze decoder accepteert beide alfabetten, gemengde schrijfwijze, optionele padding en een prefix Bearer.

Beveiliging: wat een JWT niet doet

Een JWT biedt geen vertrouwelijkheid en geen intrekking. De payload is voor iedereen leesbaar: nooit een e-mail, een interne rol of persoonsgegevens die je niet in plaintext zou versturen. En een getekende token blijft geldig tot exp ook na uitloggen — er is een intrekkingslijst nodig, een jti serverzijdige bijhouding, of korte levensduur met refresh token. Een goede gewoonte: exp kort (10 tot 15 minuten), iat gecontroleerd, nbf afgestemd op iat, aud en iss bij ontvangst geverifieerd.

Aanbevolen voor

Back-end- en front-endontwikkelaars (OAuth 2.0, OpenID Connect, REST-API), integratiepartners en DevOps (identiteitsinfrastructuur, JWKS, sleutelrotatie), testers en pentesters (claims herschrijven, alg confusion, verloop), systeembeheerders (debuggen van een onverklaarbare 401), studenten (Base64URL en WebCrypto begrijpen) en iedereen die een JWT-decoder online snel, compleet en vertrouwelijk nodig heeft — aangevuld met deBase64 encoder/decoder, deURL encoder/decoder en de JSON-formatter.

FAQ

Veelgestelde vragen over de JWT-decoder

Alles wat je wilt weten voordat je een token decodeert, verifieert of tekent.

Hoe decodeer je een JWT online?

Plak de token in het tabblad « Decoderen »: header, payload en handtekening zijn in één oogopslag gescheiden, daarna wordt elk Base64URL-deel gecodeerd als ingesprongen JSON. De standaardclaims (iss, sub, exp, iat, nbf, jti) worden in een tabel met type en rol gelist en tijdstempels worden getoond in ISO 8601 met resterende of verstreken tijd.

Hoe verifieer je de handtekening van een JWT?

In het tabblad « Verifiëren » kies je het algoritme dat de token aangeeft. Voor HS256, HS384 en HS512 voer je het gedeelde geheim in: de tool herberekent de HMAC op de tekenreeks header.payload en vergelijkt die met de meegeleverde handtekening. Voor RS256, RS384, RS512, ES256, ES384 en PS256 plak je de openbare PEM-sleutel in SPKI-formaat. Het resultaat toont « Handtekening geldig » of « Handtekening ongeldig » met de reden.

Kun je hier een JWT coderen en tekenen?

Ja. In het tabblad « Encoderen » bewerk je de JSON-header en de JSON-payload, kies je het algoritme en voer je het gedeelde geheim in: de getekende token verschijnt direct, klaar om te kopiëren of te downloaden als jwt.txt. Voor het tekenen worden HS256, HS384, HS512 en none ondersteund, de overige algoritmen dienen voor verificatie.

Wat is een JWT en waarvoor dienen zijn drie delen?

Een JWT (JSON Web Token) is een tekenreeks van drie door punten gescheiden segmenten: de header vermeldt algoritme en type, de payload vervoert de claims en de handtekening garandeert dat er niets is gewijzigd. De eerste twee segmenten zijn JSON gecodeerd in Base64URL — een transformatie, geen encryptie: iedereen kan ze lezen. Alleen de handtekening beschermt de integriteit.

Hoe lees je de claims exp, iat en nbf?

exp, iat en nbf zijn Unix-tijdstempels in seconden, geen ISO-datums. Het tabblad « Decoderen » zet ze automatisch om naar ISO 8601 en naar een relatieve duur (« verloopt over 2 d 03:00:00 »), en het tabblad « Vervaldatum » rekent in beide richtingen tussen een timestamp en een leesbare datum, zodat je een schijnbaar ongeldige token kunt controleren of precies de gewenste levensduur kunt instellen.

Wat is het verschil tussen Base64 en Base64URL?

Base64URL vervangt het plusteken door een streepje en de schuine streep door een underscore en verwijdert daarna de padding « = ». Dat is verplicht in een JWT, want een punt, een plus of een schuine streep zou de splitsing in drie segmenten breken. Daardoor falen sommige klassieke decoders ook op een perfect geldige payload.

Is een gedecodeerde JWT een wachtwoord?

Nee. De payload van een JWT is gewoon Base64URL en dus volledig leesbaar zonder sleutel: stop er nooit een identificatie, e-mail, rol of machtiging in. De handtekening versleutelt de inhoud niet, die authenticeert hem. Om een geheim aan de clientkant te bewaren is een aparte symmetrische encryptie nodig — daar is een JWT niet voor gemaakt.

Stuurt de tool mijn token naar een server?

Nee: decoderen, verifiëren en tekenen gebeuren in je browser met WebCrypto, zonder netwerkverzoek en zonder account. Dat is onmisbaar voor een productietoken, die vaak een sessie-id bevat. De geschiedenis blijft in de lokale opslag van je apparaat en is met één klik te wissen.

JWT-decoder 100 % lokaal: je token verlaat nooit je computer

In tegenstelling tot klassieke JWT-decoders online wordt niets verstuurd: decoderen, handtekeningcontrole en coderen gebeuren volledig in je browser via WebCrypto, zonder externe bibliotheek en zonder netwerkverzoek. Zo kun je een echte sessietoken, een staging-sleutel of een interne servicetoken zonder risico inspecteren, ook offline of in een openbaar netwerk. Geschiedenis en laatste invoer worden lokaal (localStorage) bewaard en blijven op je apparaat.

De licentie Premium Volade voegt een optionele, versleutelde cloudsynchronisatie toe die onafhankelijk van de tool werkt — de rest blijft gratis en onbeperkt, zonder registratie.

Eén premiumlicentie, al je webtools

JWT-decoder, URL encoder/decoder, Base64 encoder/decoder, JSON-formatter, generators, PDF-editors en tientallen gratis tools — en het hele Volade-ecosysteem met één licentie.

Eén licentiesleutel, het hele premium-ecosysteem Browser · CMS · Desktop · Mobiel · Scripts · API · Tools · Database
Eén licentiesleutel, het hele ecosysteem Ga premium Inloggen