How does a JWT work?
A JSON Web Token is three base64url-encoded parts joined by dots: header.payload.signature. The header names the signing algorithm, the payload carries claims such as the user ID and expiry, and the signature lets a server verify the token has not been tampered with. Anyone can decode the header and payload, only the signature requires a secret or private key.
What does this tool check for?
| Check | Why it matters |
|---|---|
alg: none | If a server accepts this, anyone can forge a valid-looking token. |
Missing exp | A token with no expiry is valid forever once issued. |
| Very long lifetime | Long-lived access tokens are harder to revoke if they leak. |
Missing iat | Harder to reason about how old a token is. |
| Sensitive-looking fields | JWT payloads are readable by anyone who has the token. |
| Privilege-related claims | Claims like admin or role must be set and re-checked server-side. |
Can this tool verify a JWT signature?
No. Verifying a signature requires the secret key (HS256) or the public key (RS256, ES256), and this tool never asks for either. It only decodes the header and payload and runs the heuristic checks above. Always validate signatures and claims on your server using a maintained JWT library, not in the browser.