JWT-decoder splitst een JSON-webtoken in zijn drie door punt gescheiden segmenten, Base64url-decodeert de header en payload en rendert beide als geformatteerde JSON. JWTS zijn niet versleuteld - de "codering" is slechts base64url, een omkeerbare transformatie - dus iedereen die een token vasthoudt, kan elke claim erin lezen. Deze tool maakt die inspectie direct: plak een token van een set-cookie-header, een autorisatiekop (het voorvoegsel van de drager wordt automatisch gestript), of het dashboard van uw auth-provider, en kijk precies wat uw server daar heeft geplaatst.
De claimtabel is waar debugging daadwerkelijk plaatsvindt. Geregistreerde tijdclaims - EXP (expiratie), IAT (uitgegeven AT) en NBF (niet eerder) - zijn Unix-tijdstempels, nutteloos om RAW te lezen. De decoder converteert elk naar een menselijke datum en een relatieve tijd ("verlopen 3 uur geleden", "vervalt in 14 minuten") en markeert verlopen tokens in rood. De meeste "401 ongeautoriseerde, maar het token ziet er prima uit" incidenten komen neer op een verlopen EXP, een NBF met klokken of een AUD-claim die niet overeenkomt met wat de API valideert - allemaal zichtbaar in twee seconden.
Een ding dat deze tool opzettelijk niet doet: handtekeningen verifiëren. Verificatie vereist het ondertekenen geheim (HS256) of openbare sleutel (RS256/ES256), en een tool aan de clientzijde die u vraagt om een HMAC-geheim te plakken, zou slechte gewoonten aanleren. Decodering is 100% client-side - het token verlaat nooit uw browser, raakt geen server en verschijnt in No Request Log, wat ertoe doet omdat een live productie JWT een aangifte aan toonder is. Iedereen die het heeft, ben jij.
Zet de JWT in het invoergebied. Haal het uit de autorisatiekop in uw browser DevTools Network-tab, een cookie, lokale opslag of een Curl-reactie. Een vooraanstaand "bearer"-voorvoegsel en omringende witruimte worden automatisch gestript, zodat u de volledige kopwaarde zonder opruiming kunt plakken.
Beide segmenten worden naast elkaar weergegeven als geformatteerde JSON. De header vertelt u het ondertekeningsalgoritme (ALG: RS256, HS256, enz.) en Key ID (KID) - handig wanneer uw JWKS-rotatie zich misdraagt. De payload bevat de claims: sub, ISS, AUD, scopes, rollen en welke aangepaste gegevens uw auth-laag ook heeft toegevoegd.
Tijdclaims (EXP, IAT, NBF) worden gedecodeerd van UNIX-seconden tot leesbare datums met relatieve tijden. Een verlopen exp laat in rood zien met precies hoe lang geleden het verliep; een geldige wordt in het groen weergegeven met de resterende tijd. Als NBF zich in de toekomst bevindt - meestal klokkende schubben tussen uw servers - wordt het token afgewezen, ook al "ziet het er goed uit".
Deze tool controleert nooit de handtekening - waarvoor de geheime of openbare sleutel nodig is en op uw server thuishoort, niet in een browsertool. Behandel gedecodeerde claims nooit als vertrouwde invoer: een aanvaller kan een token slaan met elke gewenste lading. Alleen een geverifieerde handtekening bewijst dat de claims afkomstig zijn van uw uitgever ongewijzigd.
Base64url-decodering in Pure TypeScript - zowel JSON-segmenten geformatteerd en direct leesbaar
EXP-claim rood gemarkeerd wanneer verlopen, groen indien geldig, met exacte relatieve tijd op beide manieren
EXP, IAT en NBF geconverteerd van RAW UNIX-seconden naar ISO-datums en "3 uur geleden"-stijlfrasering
Plak de hele autorisatiekoptekst - "Bearer" en zwerfwitte ruimte worden automatisch gestript
Generate MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes from any text
Encode and decode text to/from Base64 format
Convert between Unix timestamps and human-readable dates
Format, validate, and minify JSON data
0 comments
No comments yet. Be the first to share your thoughts!