JWT-tools — Decoderen, Verifiëren & Ondertekenen
Decodeer JWT's, verifieer HS-, RS- en ES-handtekeningen met een secret of PEM-publieke sleutel, en onderteken nieuwe HS-tokens — volledig in je browser.
JWT-tools — Decoderen, Verifiëren & Ondertekenen — Een alles-in-één toolkit voor JSON Web Tokens met drie modi — Decoderen, Verifiëren en Ondertekenen. Decoderen toont de header en payload van een token netjes opgemaakt, Verifiëren controleert de handtekening met een HMAC-secret (HS256/384/512) of een PEM-publieke sleutel (RS256/384/512, ES256/384/512), en Ondertekenen genereert een vers HS-ondertekend token uit jouw header, payload en secret. Elke bewerking draait volledig aan de clientzijde met de in de browser ingebouwde Web Crypto API, zodat tokens, secrets en sleutels je apparaat nooit verlaten.
Wat is JWT-tools — Decoderen, Verifiëren & Ondertekenen?
JWT-tools is een gratis, alles-in-één hulpprogramma voor JSON Web Tokens dat een decoder, een handtekeningverificator en een HS-ondertekenaar op één plek samenbrengt. In de modus Decoderen decodeert het een header.payload.signature-token in base64url en toont het de header en payload als opgemaakte JSON. In de modus Verifiëren leest het het alg uit de tokenheader en controleert het de handtekening met de Web Crypto API: een gedeeld HMAC-secret voor HS256, HS384 en HS512, of een PEM-gecodeerde publieke sleutel voor RS256/RS384/RS512 (RSASSA-PKCS1-v1_5) en ES256/ES384/ES512 (ECDSA). In de modus Ondertekenen bouwt en HMAC-ondertekent het een gloednieuw token uit een header-JSON, een payload-JSON, een gekozen HS-algoritme en een secret. Het is gemaakt voor backend- en frontend-engineers, QA-testers en API-integrators die authenticatie, OAuth/OIDC-sessies en het verlopen van tokens debuggen zonder secrets in een externe dienst te plakken.
JWT-tools — Decoderen, Verifiëren & Ondertekenen gebruiken
- Kies bovenaan een modus: Decoderen, Verifiëren of Ondertekenen.
- Decoderen: plak een JWT (header.payload.signature) in het tokenveld en lees de opgemaakte header en payload eronder — hier wordt geen handtekeningcontrole uitgevoerd.
- Verifiëren: plak het token en plak vervolgens het HMAC-secret (voor HS-algoritmen) of de PEM-publieke sleutel (voor RS/ES) in het sleutelveld; de tool leest het alg uit de header en toont een groen 'geldig' of rood 'ongeldig' resultaat.
- Ondertekenen: voer een header-JSON en een payload-JSON in, kies HS256, HS384 of HS512, typ je secret en kopieer het vers ondertekende token dat verschijnt.
- Gebruik de knop Kopiëren bij elke uitvoer, of Wissen om de decode-invoer te resetten.
Voorbeelden
Een token decoderen
Invoer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0In0.sig
Uitvoer
Header:
{
"alg": "HS256",
"typ": "JWT"
}
Payload:
{
"sub": "1234"
}Een HS256-token verifiëren
Invoer
token: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIn0.<sig> secret: your-256-bit-secret
Uitvoer
valid (HS256)
Een nieuw HS256-token ondertekenen
Invoer
header: {}
payload: { "sub": "1234567890", "name": "Jane Doe" }
secret: your-256-bit-secretUitvoer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkphbmUgRG9lIn0.<signature>
Veelgestelde vragen
- Worden mijn tokens, secrets en sleutels ergens geüpload?
- Nee. Elke modus draait volledig aan de clientzijde in je browser via de ingebouwde Web Crypto API (crypto.subtle) voor HMAC en handtekeningverificatie, plus base64url en JSON in JavaScript. Niets — niet het token, niet het secret, noch de PEM-sleutel — wordt ooit naar een server verzonden, wat het veilig maakt om met productiegegevens te werken.
- Welke algoritmen kan het verifiëren?
- Verifiëren ondersteunt HS256, HS384 en HS512 met een gedeeld HMAC-secret, en RS256/RS384/RS512 (RSASSA-PKCS1-v1_5) en ES256/ES384/ES512 (ECDSA) met een PEM-gecodeerde publieke sleutel. Het leest het alg-veld automatisch uit de tokenheader, dus je levert alleen het bijbehorende secret of de publieke sleutel aan.
- Met welke algoritmen kan het ondertekenen?
- De modus Ondertekenen maakt alleen HMAC-ondertekende tokens — HS256, HS384 of HS512 — uit jouw header-JSON, payload-JSON en een secret. RSA- en ECDSA-ondertekening vereist een privésleutel en valt hier buiten de scope; voor RS/ES kun je nog steeds verifiëren met de bijbehorende publieke sleutel in de modus Verifiëren.
- Controleert de modus Decoderen de handtekening?
- Nee. Decoderen decodeert alleen in base64url en toont de header en payload opgemaakt — het valideert de handtekening nooit. Schakel over naar de modus Verifiëren en lever een secret of publieke sleutel aan om te bevestigen dat een token authentiek is, en vertrouw een gedecodeerde payload nooit voordat de handtekening is geverifieerd.
- Waarom meldt de verificatie ongeldig of fout?
- 'Ongeldig' betekent dat de handtekening niet overeenkomt met het secret of de sleutel die je hebt aangeleverd. Een 'fout' betekent juist dat de invoer niet kon worden verwerkt — bijvoorbeeld het token mist zijn handtekeningsegment, het alg wordt niet ondersteund, of de PEM-publieke sleutel kon niet worden geparseerd. Controleer of je het volledige token en de juiste sleutel voor zijn algoritme hebt geplakt.
Gerelateerde tools
AES-tekstversleuteling (AES-GCM + PBKDF2)
Versleutel en ontsleutel tekst met AES-256-GCM via een sleutel afgeleid van een wachtwoordzin (PBKDF2 SHA-256, willekeurige salt), volledig in je browser en zonder uploads.
Argon2- en scrypt-hash
Hash een wachtwoord met Argon2id of scrypt en verifieer een Argon2-hash tegen een wachtwoord, volledig in je browser.
Bcrypt-hashgenerator en -verificator
Genereer een bcrypt-wachtwoordhash uit platte tekst met een gekozen kostenfactor, of verifieer een wachtwoord tegen een bestaande bcrypt-hash, volledig in je browser.
BIP39-mnemonic-generator
Genereer een willekeurige BIP39-herstelzin van 12 tot 24 woorden in meerdere talen, of zet een bestaande mnemonic terug om naar de ruwe entropie, helemaal in je browser.