CodeKitHub
Kodningsverktyg

JWT-avkodare

Senast uppdaterad:

Klistra in valfri JWT (JSON Web Token) och se dess header och payload avkodade och formaterade direkt — inklusive om den har gått ut. Allt sker i din webbläsare: token skickas aldrig någonstans, och ingen signaturverifiering utförs (det här verktyget avkodar bara, det kontrollerar inte om token är äkta).

Header

Payload

Decoded entirely in your browser — no signature verification, and the token is never sent anywhere.

Vad är detta verktyg?

En JWT (JSON Web Token) är en kompakt, URL-säker sträng som används för att bära claims mellan två parter — vanligast som en auth-token efter inloggning. Den har tre punktseparerade delar: en header (algoritm och tokentyp), en payload (de faktiska claims — användar-ID, roller, utgång, etc.), och en signatur (används av servern för att verifiera att token inte manipulerats).

Headern och payloaden är bara Base64URL-kodad JSON — inte krypterad — så vem som helst kan avkoda och läsa dem utan en hemlig nyckel. Bara signaturen kräver en hemlighet för att verifieras. Det är exakt vad det här verktyget gör: avkoda de läsbara delarna och visa dem som formaterad JSON, utan att försöka verifiera signaturen.

JWT:er standardiseras i RFC 7519, med signaturlagret (JWS) definierat separat i RFC 7515 — användbara referenser när du behöver den auktoritativa listan över registrerade claims som exp, iat, sub och aud.

Varför använda det?

  • Direkt läsbar header och payload, formaterad som JSON — inget mer manuellt delande av strängen och Base64-avkodning för hand.
  • Automatisk utgångskontroll: om payloaden har en "exp"-claim, konverteras den till ett läsbart datum och markeras som utgången eller giltig.
  • Kopiering med ett klick för header eller payload separat.
  • 100% klientsidan — token avkodas lokalt och skickas aldrig, säkert att använda även med token från ett produktionssystem.
  • Ingen signaturverifiering utförs eller påstås — detta är ett felsöknings-/inspektionsverktyg, inte en validator.

Så använder du det

  1. Klistra in din JWT i rutan (hela strängen, inklusive alla tre punktseparerade delarna).
  2. Headern och payloaden avkodas automatiskt medan du skriver.
  3. Kontrollera utgångsraden om token har en "exp"-claim — den visar exakt datum och om token har gått ut.
  4. Klicka på "Kopiera" under endera rutan för att kopiera det avsnittet som JSON.

Exempel

Inmatning

eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0IiwibmFtZSI6IkpvaG4gRG9lIiwiZXhwIjoxNzAwMDAwMDAwfQ.dQw4w9WgXcQ

Resultat

Header: {"alg": "HS256"}
Payload: {"sub": "1234", "name": "John Doe", "exp": 1700000000}

Signaturen (tredje delen) avkodas eller kontrolleras aldrig — den är en opak hash som används serversidan för att verifiera äkthet.

Praktiska tips

  • Felsöker du "ogiltig token"-fel: avkoda payloaden först för att kontrollera "exp"-claimen — en utgången token är den vanligaste orsaken, och det är inte alltid uppenbart bara från felmeddelandet.
  • Kontrollerar du vad ett tredjeparts-API:s token faktiskt innehåller: många API:er returnerar en opak-utseende JWT som en åtkomsttoken — avkoda den här för att se scopes, användar-ID eller utgång din integration faktiskt tar emot.
  • Anta aldrig att en JWT är krypterad: om du ser känslig data (e-post, interna ID:n) i en avkodad payload under utveckling är det en signal om att flytta den datan till serversidan istället för att lita på att klienten inte läser den.

Vanliga claims du kommer se i en payload

ClaimBetydelse
subSubject — vanligtvis användar-ID:t token representerar
expUtgångstid (Unix-tidsstämpel) — token är ogiltig efter detta
iatIssued at — när token skapades
issIssuer — vilken tjänst/server som utfärdade token
audAudience — vilken tjänst token är avsedd för
role / roles / scopeAnpassade claims — behörigheter eller roller som beviljats användaren (inte del av JWT-standarden, men extremt vanligt)

Vanliga frågor

Verifierar det här verktyget JWT-signaturen?

Nej. Att verifiera en signatur kräver den hemliga nyckeln eller publika nyckeln som användes för att signera token, vilket bara den utfärdande servern har. Det här verktyget avkodar bara headern och payloaden — de läsbara delarna — så du kan inspektera claims och utgång utan att behöva någon nyckel.

Är det säkert att klistra in en riktig produktions-JWT här?

Avkodning sker helt i din webbläsare via JavaScript — token skickas aldrig till någon server, inklusive vår. Behandla ändå token som lösenord: klistra inte in dem i verktyg du inte litar på, och undvik att dela skärmdumpar av avkodade token som innehåller känsliga claims.

Varför kan vem som helst läsa min JWT:s payload utan ett lösenord?

Med avsikt — en JWT:s header och payload är Base64URL-kodade, inte krypterade. Kodning är inte säkerhet; det gör bara JSON:en URL-säker att överföra. Lägg aldrig hemligheter (lösenord, kreditkortsnummer) direkt i en JWT-payload — anta att vem som helst som har token kan läsa dess innehåll.

Vad betyder "exp"-claimen och varför spelar den roll?

"exp" är tokenens utgångstid, som en Unix-tidsstämpel (sekunder sedan 1970). Servrar avvisar en JWT när den här tiden har passerat, vilket tvingar klienten att autentisera på nytt. Det här verktyget konverterar den till ett läsbart datum och flaggar om den redan gått ut, vilket är användbart för att felsöka "varför loggades min session ut"-problem.

Min token visar ett JSON-tolkningsfel — varför?

Antingen är strängen inte en giltig JWT (ska vara exakt tre punktseparerade delar), eller så har den trunkerats eller ändrats — en vanlig orsak är en token som av misstag delats över flera rader eller saknar avslutande tecken vid kopiering.

Relaterade verktyg