See inside any JWT — header, payload and expiry
Debugging auth means squinting at opaque tokens. Paste a JWT to see its decoded header, payload and expiry instantly — then copy locally. Free to use, with no account needed.
Decode and verify entirely in your browser — nothing is uploaded.
What you can do with JWT-decoder
Everything this tool helps you accomplish — no learning curve, no setup.
- Decode JWT header and payload instantly
- Inspect token claims in readable JSON
- Check whether a token has expired
- Verify the signature with your secret or key
- Debug auth issues during development
- Try a sample token to see the format
Settings information
3 settings
Every control in JWT-decoder, explained — what it does and when to use it.
Instellingen
- Probeer voorbeeld-JWTOne-click
- Laadt een demotoken met standaardclaims zoals sub, iat en exp, zodat je het decoderen en de vervalcontrole in actie ziet voordat je je eigen JWT plakt.
Verify signature
- Verify signatureText input
- Plak het gedeelde HMAC-geheim (HS256) of de RSA/EC-publieke sleutel van de uitgever in PEM- of JWK-formaat waartegen de handtekening van het token moet worden gecontroleerd.
- VerifyOne-click
- Voert de handtekeningcontrole uit met de geheime of publieke sleutel die je hebt ingevoerd en toont een badge die aangeeft of de handtekening geldig of ongeldig is, of een niet-ondersteund algoritme gebruikt.
Klaar met JWT-decoder? Probeer deze hierna
Zorgvuldig gekozen tools die goed samengaan met JWT-decoder. Ga verder zonder je bestand te verliezen.
Base64-encoder/-decoder
Cryptic Base64 in logs and payloads slows you down. Decode to readable text or encode any text or file — URL-safe, UTF-8 safe, and instant in your browser.
Probeer het nuHashgenerator
Verifying downloads shouldn't need a command line. Drop a file or paste text for instant SHA-1, SHA-256, SHA-384 and SHA-512 digests. Use and copy results free — no account needed.
Probeer het nuJSON opmaken
One-line API responses are impossible to scan. Paste or drop JSON to validate it, pretty-print at 2, 4, or 8 spaces, or minify it for production — instantly in your browser.
Probeer het nuURL-encoder / -decoder
Percent-encoded URLs are unreadable, and hand-editing breaks them. Paste any string or full URL to encode or decode it correctly in component or full-URL mode, right in your browser.
Probeer het nuWachtwoordgenerator
Weak, reused passwords get accounts hijacked. Create cryptographically random passwords up to 128 characters with live strength feedback, then copy securely. Free to use, with no account needed.
Probeer het nuVerschillen Checker
Eyeballing two versions misses changes. Paste both texts and see every addition and deletion highlighted in split or unified view — then copy the result. Free to use, with no account needed.
Probeer het nuVeelgestelde vragen
Plak het gecodeerde JWT (de lange eyJ…-tekenreeks) in het invoervak. De tool splitst het op de twee punten, decodeert de header en payload met Base64URL en toont voor beide de JSON plus het ruwe handtekeningsegment — allemaal zonder enige netwerkaanvraag.
usageNee. De decoder parseert alleen het token; hij controleert de handtekening niet tegen een geheime of publieke sleutel, omdat verificatie het sleutelmateriaal van de uitgever vereist. Gebruik voor productieverificatie een server-side JWT-bibliotheek; deze tool is bedoeld voor inspectie en debugging.
technicalJe krijgt de header (algoritme en sleutel-id), de payload-claims (sub, iss, aud, iat, exp en eventuele aangepaste claims) en de ruwe handtekening. Standaard tijdstempelclaims worden opgemaakt als leesbare datums, zodat je verlopen tokens in één oogopslag kunt herkennen.
featuresAls de payload de standaard "exp"-claim bevat, vergelijkt de tool deze met de huidige tijd en toont hij ofwel "Geldig tot" of "Token verlopen op" met het exacte tijdstempel. Tokens zonder exp-claim worden gerapporteerd als zonder vervaldatum.
featuresIedereen die de payload van een JWT kan lezen, kan deze gebruiken totdat hij verloopt. Productietokens horen daarom thuis in privétools. Deze decoder draait volledig in je browser en verstuurt het token nooit, maar de veiligere vuistregel is om waar mogelijk kortlevende ontwikkeltokens te decoderen.
privacyEen JWT bestaat uit drie met Base64URL gecodeerde segmenten, gescheiden door punten: header (ondertekeningsalgoritme), payload (de claims die de uitgever door de verifieerder vertrouwd wil zien) en signature (een MAC of digitale handtekening over header.payload). Decoderen vereist nooit een sleutel — alleen verifiëren wel.
technicalEen compacte, URL-veilige token die bestaat uit drie Base64URL-segmenten — header, payload en handtekening — en ondertekende claims bevat zoals een gebruikers-ID en een vervaltijd. Hij wordt veel gebruikt voor stateless inlogsessies en het beveiligen van API-verzoeken. Plak er hierboven een om de header en payload te bekijken.
technicalOnder de gedecodeerde header en payload plak je het ondertekeningsgeheim (voor HS256) of de publieke sleutel van de uitgever in PEM- of JWK-formaat (voor RS256, ES256 en dergelijke) in het vak Handtekening verifiëren, en klik je vervolgens op Verifiëren. De badge die verschijnt meldt of de handtekening geldig of ongeldig is, of een algoritme gebruikt dat de verifier aan de browserkant niet ondersteunt — allemaal lokaal berekend, zonder het token of de sleutel ergens naartoe te sturen.
featuresVoor HMAC-algoritmen zoals HS256 plak je de ruwe gedeelde-geheimtekst. Voor asymmetrische algoritmen zoals RS256, RS384 of ES256 heb je de publieke sleutel van de uitgever nodig — nooit de privésleutel — aangeleverd als een PEM-blok of een JWK; het plakken van de verkeerde helft van een asymmetrisch sleutelpaar laat de verificatie mislukken, ook al is het token geldig.
technicalHet paneel Handtekening verifiëren ondersteunt elk gangbaar JOSE-algoritme: HS256/384/512 (HMAC met een gedeeld geheim), RS256/384/512 (RSASSA-PKCS1-v1_5 met een openbare RSA-sleutel), PS256/384/512 (RSA-PSS met een openbare RSA-sleutel) en ES256/384/512 (ECDSA over de bijbehorende P-256/P-384/P-521-curve). Tokens die zijn ondertekend met "none" of een algoritme buiten deze lijst worden altijd gerapporteerd als niet-ondersteund in plaats van als geldig gemarkeerd, wat je ook beschermt tegen de klassieke alg=none-vervalsingstruc.
technicalDe meest voorkomende oorzaak is dat je extra witruimte of een afsluitend regeleinde in het geheimvak plakt — de verificator hasht precies de bytes die je invoert, dus een kopieer-plak-artefact verbreekt de overeenkomst. Controleer ook of je het huidige token verifieert: als de JWT opnieuw is uitgegeven nadat je hem kopieerde, of het geheim van de provider base64-gecodeerd is in plaats van een ruwe string, decodeer het dan eerst voordat je het plakt.
tipsKlik op Voorbeeld-JWT proberen om een demo HS256-token met sub-, name-, iat- en exp-claims te laden, zodat je het decoderen en de vervalcontrole in actie ziet voordat je je eigen token plakt. Zodra er een token in het vak staat, verschijnt er een Wissen-knop ernaast waarmee je de invoer met één klik weer leeg maakt.
usageElk van de panelen Header, Payload en Signature heeft rechtsboven een eigen Kopiëren-knop die alleen de JSON van dat gedeelte (of de ruwe handtekeningtekst) naar je klembord kopieert. Onder de panelen staat ook een primaire knop Payload kopiëren voor het meest voorkomende geval waarbij je alleen de claims pakt om in een debugger of bugrapport te plakken.
featuresKopieer de waarde na 'Bearer ' in de Authorization-header — het eyJ…-gedeelte is de JWT zelf — en plak deze in de decoder om direct de header, payload-claims en vervalstatus te zien. Als je de hele 'Bearer eyJ…'-tekst kopieert, verwijder dan eerst het 'Bearer '-voorvoegsel zodat de token uit precies drie door punten gescheiden delen bestaat.
usageNee — dit is een decoder en viewer, geen JWT-editor. Het wijzigen van de payload zou de handtekening ongeldig maken, waardoor elke server die het token verifieert de gemanipuleerde versie zou afwijzen. Om claims te wijzigen, moet je een nieuw token uitgeven dat is ondertekend met de juiste secret of private key. Gebruik de decoder om tokens te lezen en te debuggen, niet om ze te wijzigen.
featuresHoe JWT-decoder je helpt de klus te klaren
Echte problemen die het elke dag oplost — voor bedrijven, makers en alledaagse taken. Vind de toepassing die bij je past en begin in seconden.
OAuth- en OpenID Connect-flows debuggen
Decodeer access-tokens en ID-tokens die worden geretourneerd door Auth0, Okta, Cognito en Azure AD om scopes, audiences en issuers te verifiëren tijdens lokaal OAuth-integratiewerk
Authorization-headers in API-aanroepen inspecteren
Plak het bearer-token van een mislukte API-aanvraag om te bevestigen of de verkeerde tenant, rol of vervaldatum de oorzaak is voordat je een ticket aanmaakt bij het backendteam
Controleer de vervaltijd van tokens tijdens de ontwikkeling
Spoor verlopen tokens op die je staging-omgeving stilletjes om zeep helpen door de exp-claim uit te lezen — je hoeft de token niet naar een terminal te kopiëren of snel een script te schrijven
Controleer rechten die in token-claims zijn gecodeerd
Verifieer aangepaste claims zoals rollen, tenants en feature flags, zodat beheerders kunnen bevestigen dat het token van een klant precies de toegang verleent die het licentieteam beoogt
Single sign-on-integraties valideren
Inspecteer SAML- en OIDC-tokens die door SSO-integraties op ondernemingsniveau worden gegenereerd om groepslidmaatschappen en attribuuttoewijzingen te controleren voordat je uitrolt naar alle medewerkers
Token-gebaseerde authenticatie onderwijzen
Gebruik de gedecodeerde header-, payload- en signaturepanelen om aan bootcampstudenten, junior engineers en deelnemers aan securityworkshops uit te leggen hoe JWT's zijn opgebouwd
Controleer de Webhook-Ondertekeningsinstelling van een Partner
Plak de openbare RS256- of ES256-sleutel van een partner in Handtekening verifiëren om te bevestigen dat hun webhook-payloads daadwerkelijk correct zijn ondertekend voordat je een integratie naar productie zet.
Onderzoek een gelekt of verdacht token
Decodeer een token uit logs of een bugrapport om de audience, scopes en vervaldatum te controleren zonder de signing key nodig te hebben, zodat je tijdens een incident snel de blootstelling kunt inschatten.
Mislukte aanmeldingen in mobiele apps debuggen
Plak het access-token dat je mobiele app na inloggen ontvangt om te bevestigen dat de vervaltijd, uitgever en aangepaste claims overeenkomen met wat de backend verwacht, wanneer inloggen op web werkt maar mislukt op iOS of Android.
Tokens van Firebase, Supabase en Clerk valideren
Decodeer en inspecteer tokens die door moderne auth-providers als Firebase, Supabase en Clerk worden uitgegeven om te bevestigen dat de claims die je app leest (uid, role, tenant) daadwerkelijk aanwezig zijn voordat je autorisatielogica opzet.
