JWT parser
What is a Jwt Parser?
A JSON Web Token looks like random text, but its first two parts are simply Base64URL-encoded JSON. Decoding them shows which algorithm signed the token, who issued it, who it belongs to and when it expires. That is the first step when debugging login problems, 401 Unauthorized errors or OAuth integrations. This parser decodes the token and explains the claims.
How to use it
- Paste the token, the long string starting with
eyJ. - Read the decoded header and payload.
- Check the timestamps for expiry and validity.
Anatomy of a JWT
header.payload.signature
- Header:
alg(such as HS256 or RS256),typand oftenkid, the ID of the key used. - Payload: claims such as
ississuer,subsubject,audaudience,expexpiry,nbfnot before,iatissued at andjtitoken ID, plus custom claims such as roles or scopes. - Signature: proves the header and payload were created by the key holder.
Debugging checklist
- Expired: compare
expwith the current time. It is in seconds since 1970. - Wrong audience: the API checks that
audmatches its own identifier. - Wrong issuer: tokens from a staging identity provider will fail in production.
- Clock skew: if
nbforiatis a few seconds in the future, server clocks may differ. - Missing scopes or roles cause
403 Forbiddenrather than 401.
Decoding is not verifying
This tool reads the token; it does not prove the token is genuine. Servers must verify the signature with the right key and must reject tokens with alg: none. Treat tokens as passwords: decoding happens locally here, but do not paste live production tokens into tools you do not trust.
Frequently Asked Questions
Can anyone read a JWT?
Yes. The header and payload are only Base64URL-encoded. The signature prevents changes but does not hide the content.
How do I check if a JWT is expired?
Compare the exp claim, a Unix timestamp in seconds, with the current time.
Does decoding a JWT verify it?
No. Verification requires checking the signature with the correct secret or public key.
What is the kid in the header?
The key ID, which tells the server which key from its key set was used to sign the token.