How to use
Use this to quickly inspect and sanity-check JWTs.
- Paste the JWT into the token box.
- (Optional) Enter a shared secret to verify HS256/HS384/HS512 signatures.
- Click Check JWT to decode and run checks.
- Copy the output JSON if you need to share findings.
FAQ
Does this JWT checker send my token to a server?
No. Decoding and checks run in your browser and this tool does not make network requests.
Can it verify RS256/ES256 signatures?
Not in this version. It can decode and validate claims, but signature verification is only implemented for HS256/HS384/HS512 with a shared secret.
What does “UNVERIFIED” mean?
The token uses HS* but you did not provide a secret, so the tool can’t confirm if the signature matches.
How is expiration checked?
The tool compares exp (seconds since epoch) against your current local time; it marks the token expired when now >= exp.
Why does my token show as malformed?
JWTs must be 2–3 dot-separated parts and each part must be valid base64url; header and payload must decode to JSON.
What is alg=none and is it safe?
alg=none means there is no signature. It should only be used in tightly controlled scenarios, otherwise it’s usually a security risk.
What secret should I use for HS256 verification?
Use the exact shared secret your issuer uses to sign tokens (often an environment variable). A different secret will always produce an invalid signature.