Add your input
A three-part JWT string.
Inspect token claims and expiration without sending them anywhere.
Your work stays private in your browser while you use this tool.
Decode the Base64URL JSON header and payload of a three-part JSON Web Token, display its untouched signature segment, and interpret a numeric exp claim against the current clock. It does not validate authenticity.
A three-part JWT string.
Inspect token claims and expiration without sending them anywhere.
Readable header and payload JSON.
Decoding does not verify the signature; never trust a token until your server validates it.
Inspect an algorithm header and claim names while debugging an authentication integration.
Check whether a numeric expiration claim appears past or future on the current device.
Copy readable header and payload JSON for a local test report without claiming the token is valid.
The input must split into exactly three dot-separated segments. The first two are normalized from Base64URL, padded, decoded as strict UTF-8, and parsed as JSON. If payload.exp is numeric, seconds are multiplied by 1,000 and compared with Date.now(); the third segment is only displayed.
Yes. JWT decoder is free to use.
Yes. Your work stays private while you use the tool — nothing you enter is uploaded.
No. Anyone can construct readable header and payload segments. A trusted verifier must validate the signature and enforce the expected algorithm, key, issuer, audience, time claims, and application policy.
When exp is a JSON number, the tool treats it as Unix seconds, converts it to a local date string, and compares it with the current browser time. Other claim types are displayed without interpretation.