JWT Decoder

Decode a JSON Web Token in your browser and read its header, claims and expiry in plain words.

Nothing leaves your browser: the token is decoded here, in the page, and never sent anywhere.

Valid now: it expires in 7 years.

The three parts

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2F1dGguZXhhbXBsZS5jb20iLCJzdWIiOiJ1c2VyXzEyMzQ1IiwiYXVkIjoicXVhY2t5YXJkLmNvbSIsImlhdCI6MTczNTY4OTYwMCwiZXhwIjoxOTg3OTc3NjAwLCJyb2xlIjoiYWRtaW4ifQ.dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk

headerpayloadsignature

The algorithm is HS256. Decoding only reads what the token says: nothing here checks the signature, so a token shown on this page can still be forged or altered.

header
{
  "alg": "HS256",
  "typ": "JWT"
}
payload
{
  "iss": "https://auth.example.com",
  "sub": "user_12345",
  "aud": "quackyard.com",
  "iat": 1735689600,
  "exp": 1987977600,
  "role": "admin"
}
Claims
ClaimMeansIn this token
issIssuer is who created the token, usually a URL or a domain namehttps://auth.example.com
subSubject is who the token is about, usually a user iduser_12345
audAudience is who the token is meant for, the service that should accept itquackyard.com
iatIssued at is when the token was made17356896002025-01-01T00:00:00.000Z
expExpires is when the token stops being accepted19879776002032-12-30T00:00:00.000Z

More in the yard