Input
Ready
Lines: 0
Words: 0
Chars: 0
Size: 0 KB
Input statistics are available via the Stats button above this field.
Output
Lines: 0
Words: 0
Chars: 0
Size: 0 KB
Output statistics are available via the Stats button above this field.
Results are provided for informational purposes only and may contain errors. Please verify important information independently. Use of this tool is at your own risk.
What the JWT Decoder does
The JWT Decoder splits a JSON Web Token into its three parts and shows the header and payload as readable JSON. The header shows the signing algorithm, such as HS256. The payload contains the claims, such as sub, iat and exp.
It only decodes the token and does not verify the signature. A decoded token tells you what it claims, not whether those claims can be trusted. Verification needs the secret or public key and must happen in your own backend.
When to use it
- Debugging a 401 or 403 error: check whether the token has expired, or whether it carries the audience, issuer or roles you expect.
- Checking what an identity provider actually puts into its tokens.
- Reading the
iat(issued at) andexp(expires) times. They are Unix timestamps in seconds, which the Timestamp Converter turns into dates.
Worked example
Input
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFuYSIsImlhdCI6MTc2NzIyNTYwMCwiZXhwIjoxNzY3MjI5MjAwfQ.sig_placeholder
Output
{
"Header": {
"alg": "HS256",
"typ": "JWT"
},
"Payload": {
"sub": "1234567890",
"name": "Ana",
"iat": 1767225600,
"exp": 1767229200
},
"Signature": "sig_placeholder"
}Common questions about the JWT Decoder
Is the signature checked?
No. The decoder reads the header and payload only. Never accept a token as valid because it decodes correctly.
Is it safe to paste a real token?
The token is sent to the 4Dev server to be decoded, and it is not logged or stored. A token can still grant access until it expires, so avoid pasting live production tokens, and revoke any token you think was exposed.
Why does decoding fail?
A JWT must have exactly three parts separated by dots, and the first two must be valid base64url-encoded JSON. Extra spaces or a missing part cause an error. Encrypted tokens (JWE) have five parts and cannot be read without the key.