JWT Decoder
Decode a JSON Web Token's header and payload, inspect its claims, and check whether it has expired — entirely in your browser.
How it works
A compact workflow from input to download.
Paste your token
Paste the JWT — the long three-part string separated by dots.
Read the parts
The header and payload are decoded and displayed as formatted JSON, with the standard claims explained.
Check the expiry
The expiry claim is converted from a Unix timestamp into a readable date so you can see if the token is still valid.
Frequently asked questions
Is it safe to paste my token here?
Does this verify the signature?
Is the payload encrypted?
What do exp, iat and sub mean?
The three parts of a token
A JWT is three Base64-encoded segments joined by dots, and each has a distinct job. The header declares which signing algorithm was used. The payload carries the claims — who the user is, when the token expires, what they are permitted to do. The signature is a cryptographic hash of the first two parts computed with a secret key, and it is what makes the whole thing trustworthy: change so much as one character of the payload and the signature no longer matches, so the server rejects it. That is the elegance of the design. The server does not need to store the token or look it up in a database; it can verify the token's integrity mathematically from the token itself, which is what makes JWTs so attractive for stateless authentication across distributed services.
Signed does not mean secret
The most consequential misconception about JWTs is that the payload is protected. It is not. Base64 is an encoding, not encryption, so anyone who obtains the token — from a browser's local storage, from a log file, from a proxy — can read every claim it contains in seconds. The signature guarantees integrity, meaning nobody can alter the claims without detection. It guarantees nothing about confidentiality. This has real consequences: email addresses, internal user identifiers, role names and permission lists placed in a payload should all be considered public. If a claim genuinely must be hidden, you need JWE, the encrypted variant of the standard — or, far more sensibly, you keep the secret on the server and put nothing but a reference in the token.
Related tools
Continue the workflow with adjacent tools.