Publisher notes · reviewed 10 September 2026
Decoding a JWT is not verifying it
A JSON Web Token is three Base64URL parts. This page decodes the header and payload with atob. crypto.subtle.verify checks an HS256 signature only when a secret is typed and alg is HS256. (Not expired) means exp is not earlier than now. nbf is shown in local time and is not compared. There is no JWKS fetch and no RS256 check.
How to use the output safely
Read `alg`, `iss`, `aud`, `exp`, and `sub` as claims, not as proof, unless an HS256 check with the correct secret succeeds. If `alg` is `none`, the token has no signature. If `exp` is in the past, resource servers should reject it. Toolioz does not contact the issuer. Never paste a live access token from a production user into a public blog screenshot.
HS256 needs a shared secret you should not type into a random website if your policy forbids it. RS256 needs the issuer public key; this page does not fetch JWKS. Use your auth library in a trusted environment for production verification.
Worked examples
Expiry check
An `exp` of 1735689600 is a Unix second timestamp. Convert it with any Unix-time converter. If it is in the past, treat the token as expired regardless of a pretty-printed payload.
Limits of this page
- No JWKS fetch, no audience check, no encrypted JWE support as a full decryptor unless the page explicitly says so.