WHAT IT DOES
Read a token's claims without handing it to anyone.
Paste a JSON Web Token and its header and payload are Base64URL-decoded and formatted as readable JSON. The three dot-separated segments are split locally, so you can inspect the algorithm, issuer, subject, and expiry of a real token without it leaving your machine. Add the signing secret and the HS256, HS384, or HS512 signature is verified in your browser with the Web Crypto API. The secret is optional: decoding never needs it, which matters when you are looking at a token you cannot verify.
Why use it?
Use it to investigate a token's claims and signature status while keeping decoding separate from authentication. Readable claims are not proof that their sender is trusted.
How to use this tool
- Paste the three-part JWT and decode it without a secret to inspect its header and payload.
- If you need HMAC signature verification and have the correct shared secret, enter it in the masked field and run again. Asymmetric signing algorithms are not verified here.
- Review signature status separately from issuer, audience, expiry, and your application's acceptance rules. Clear the workspace when finished; never share a real token as an example.
Details and limitations
- The header and payload are decoded and pretty-printed, and the signature segment is shown in full.
- Signature verification is optional and reports one of three outcomes: verified, does not match, or not checked. An unchecked signature is never presented as a passing one.
- The algorithm is read from the header but never trusted to pick the key type. alg: none is refused, and an asymmetric algorithm is reported as unsupported rather than being checked against your secret as an HMAC key, which is the algorithm-confusion attack.
- A failed check still shows the claims, because a rejected token is exactly when you need to read them.
- Malformed tokens report which segment failed rather than silently producing empty output.
- Base64URL padding is reconstructed automatically before decoding.