About this tool
Decoding shows what a token claims; it does not verify the signature. Because decoding is done locally, it is safe for real tokens.
Reading what a JWT contains
A JSON Web Token looks like a long random string, but it is really three parts joined by dots: a header, a payload and a signature. The first two are Base64URL-encoded JSON, which means anyone can decode and read them. This tool does that and lays out the claims clearly, including the issue time, expiry time and subject, converted into readable dates.
Decoding is invaluable when debugging authentication. If an API rejects a request, checking the token often reveals the cause straight away: it may have expired, it may have been issued for a different audience, or it may be missing a role or permission your code expects. Comparing the expiry time with the current time also explains many 'works for a while, then fails' problems.
It is important to understand what decoding does not do. This tool does not verify the signature, so it cannot tell you whether a token is genuine or has been tampered with. Verification must always happen on your server with the correct secret or public key. Equally, because the payload is only encoded and not encrypted, never put passwords, card numbers or other secrets in a JWT, since anyone holding the token can read them. Treat tokens themselves as sensitive, because a valid token can be used to act as the user until it expires. That is why this decoder runs entirely in your browser and never sends the token anywhere. Avoid pasting real tokens into tools that work on a server. If a token looks wrong, ask the service that issued it for a fresh one rather than editing it.
How to use it
- Paste your text into the input box, or open a file from your device.
- Adjust the options. The result updates instantly.
- Copy the result, or download it as a file where offered.
Questions
Does this verify the signature?
No. Verification needs the secret or public key. Never trust a token's contents on the server without verifying it.
Is a JWT encrypted?
A standard signed JWT is only Base64URL-encoded, so anyone can read it. Do not put secrets in the payload.
Last reviewed 16 October 2026.
