Why it matters
Login systems, APIs and many SaaS integrations pass JSON Web Tokens around. When something fails ('401 Unauthorised'), the first question is what's inside the token and whether it's expired.
Pasting a token into a random website is a risk, because a token is a key. This decoder works entirely in your browser, and it can also check an HMAC signature with WebCrypto so you know the token wasn't altered.
How it works
- InputA JSON Web Token
- In your browserSplit and Base64url-decoded, HS signatures checked
- OutputHeader, payload, readable times and a signature result
Where it fits in a designer's workflow
- Plan
- Design
- Build
- Test
- Launch
By the numbers
Show the numbers as a table
| Part | Characters |
|---|---|
| Header | 36 |
| Payload | 122 |
| Signature | 43 |
How to use it
- Paste the token.
- Read the header, payload and claims.
- To check the signature, enter the secret (HS256/384/512 only).
- Copy or download the decoded parts.
FAQ
Is it safe to paste a token here?
It's decoded locally and never sent, but good practice is to use test tokens, or tokens that have already expired.
Can it check RS256 tokens?
Not yet. RSA and ECDSA tokens need the issuer's public key; the decoder still reads them.
Is the payload secret?
No. A JWT is signed, not encrypted: anyone with the token can read the payload. Don't put secrets in it.
Why is alg none dangerous?
It means no signature, so anyone could have written the token. Servers should always reject it.