Vad JWT decoder gör
En JWT (JSON Web Token) består av tre Base64URL-kodade delar separerade med punkter: header, payload och signatur. Det här verktyget avkodar header och payload så att du kan läsa standardanspråken – iss, sub, aud, exp, iat, nbf och jti – utan att behöva skriva ett enda kommando. Base64URL är en URL-säker variant av Base64 som byter ut tecknen + och / mot - och _, vilket gör tokens säkra att använda i URL-parametrar.
Verktyget visar dessutom om token har gått ut, baserat på exp-värdet. Det är användbart när du felsöker OAuth-flöden eller integration mot en extern identitetsleverantör.
En viktig distinktion: att avkoda är inte detsamma som att verifiera. Signaturen kontrolleras inte här – det kräver hemligheten eller den publika nyckeln, information du aldrig ska klistra in i ett externt verktyg. Den här svenska versionen av JWT decoder är 100 % klientbaserat – dina data lämnar aldrig din webbläsare. Inga uppladdningar, ingen spårning, inga serverloggar. Tokens med personuppgifter (PII) kan därför inspekteras utan risk.
Funktioner
- Omedelbar avkodning. Klistra in en JWT-token och se header och payload direkt, utan att ladda om sidan. Bearer-prefixet rensas automatiskt.
- Standardanspråk markerade. Fälten iss, sub, aud, exp, iat, nbf och jti identifieras och visas tydligt, som definierat i RFC 8259.
- Utgångsstatus i realtid. Verktyget jämför exp-värdet med aktuell tid och visar om token är giltig eller har gått ut, med exakt tidpunkt.
- Stöd för vanliga algoritmer. Visar alg-fältet i headern – HS256, RS256, ES256 och andra – utan att verifiera signaturen. Du ser vad token påstår, inget mer.
- Helt klientbaserat. All bearbetning sker i din webbläsare via JavaScript. Ingen data skickas till en server, vilket gör det säkert att inspektera tokens med känslig information.
- Kopiera med ett klick. Kopiera avkodad header eller payload som formaterad JSON direkt till urklipp, redo att klistras in i annan editor eller logg.
Så här använder du JWT decoder
Klistra in token i fältet och avkodningen sker direkt. Du kan också avkoda programmatiskt med ett enda uttryck.
- Klistra in token. Kopiera JWT-token från din app, din browser DevTools eller ett API-svar och klistra in den i inmatningsfältet. Bearer-prefixet hanteras automatiskt.
- Granska header och payload. Header visar algoritm och tokentyp. Payload visar alla anspråk. I JavaScript kan du göra samma sak med
JSON.parse(atob(token.split('.')[1])). - Kontrollera utgångsstatus. Kolla det markerade exp-fältet och statusraden som visar om token är aktiv eller har gått ut.
- Kopiera eller exportera. Använd kopieringsknappen för att ta med formaterad JSON till din editor, Postman eller en logg för vidare analys.
- Felsök i terminalen. I bash går det att parsa payload snabbt med
echo $token | cut -d. -f2 | base64 -d | jq .för att inspektera anspråk utan webbläsare.
Vanliga användningsområden
- Felsöka OAuth-flöden. När ett API returnerar 401 kan du avkoda access token direkt och kontrollera om exp har passerat eller om aud inte matchar den förväntade resursen.
- Granska anspråk från identitetsleverantörer. Verktyg som Auth0, Keycloak och Azure AD lägger ofta till egna anspråk. Avkoda token för att se exakt vad som skickas innan du skriver kod som läser dem.
- Validera tokenformat inför integrationstester. Kontrollera att token har rätt struktur och att obligatoriska fält som sub och iss finns med innan du kör ett testsvit.
- Utbilda nyare utvecklare. Visa hur en JWT ser ut i klartext och förklara varför base64url-kodning inte är kryptering – ett vanligt missförstånd bland juniorutvecklare.
- Snabb inspektion under incidenthantering. Vid driftstörningar i autentiseringen kan en snabb tokenavkodning ge svar om det handlar om ett utgånget token, fel issuer eller saknat anspråk.
Vanliga frågor
Är det säkert att klistra in en token med känslig information?
Ja, för det här verktyget. All avkodning sker lokalt i din webbläsare – ingen data skickas till en server. Det är ändå god praxis att använda tokens från en testmiljö när det är möjligt.
Varför verifierar inte verktyget signaturen?
Signaturverifiering kräver hemligheten (HMAC) eller den publika nyckeln (RSA/EC). Du ska aldrig klistra in sådana nycklar i ett externt verktyg. Avkodning och verifiering är två separata steg – det här verktyget hanterar bara det första.
Vad är skillnaden mellan att avkoda och dekryptera en JWT?
En vanlig JWT (JWS) är signerad men inte krypterad. Payload är bara Base64URL-kodad, inte hemlig. En JWE (JSON Web Encryption) är däremot krypterad och kan inte läsas utan nyckeln. De flesta tokens du stöter på är JWS, inte JWE.
Vad händer om alg-fältet i headern är 'none'?
Det är ett känt säkerhetsproblem: om ett bibliotek litar blint på alg-fältet från token kan en angripare skicka en token utan signatur och ändå bli godkänd. Bibliotek som följer standarden korrekt avvisar alg=none i produktionsmiljöer. Avkodaren visar fältet, men du bör aldrig acceptera sådana tokens i din kod.
Hur läser jag ett bearer token från en HTTP-förfrågan?
Kopiera värdet från Authorization-headern, inklusive eller exklusive 'Bearer '-prefixet. Verktyget tar bort prefixet automatiskt om det finns med, så du kan klistra in headervärdet direkt.
Stöder verktyget tokens med svenska tecken i payload?
Ja. JWT-payload är UTF-8-kodad JSON, så tecken som å, ä och ö hanteras korrekt. Äldre system kan använda ISO 8859-1 (Latin-1), men moderna JWT-implementationer enligt RFC 4122-praxis använder UTF-8 genomgående.