JWT Decoder
Decode and inspect JWTs entirely in your browser — header, payload, expiry. Nothing leaves your device.
- 👨💻 Developer Tool
- ✓ Free
- ✓ No sign-up
- ✓ Private — runs in your browser
- ✓ Any device
Paste a JWT above to inspect it
Header • Payload • Signature • Expiry — all decoded locally
Why you’ll love JWT Decoder
How to use it
- 01
Open it
No download and no login — the tool is ready right at the top of this page.
- 02
Use it
Enter your details or start interacting. Everything updates live as you go.
- 03
Get your result
Copy, download or share your result in a single tap. That’s it.
About JWT Decoder
A JSON Web Token is just three base64url-encoded segments separated by dots: header.payload.signature. Decoding the first two is pure text transformation — no secret key is involved — which is exactly what this tool does. Paste a token (a leading "Bearer " prefix from an Authorization header is stripped automatically) and it splits the segments into a colour-coded preview, pretty-prints the header and payload as syntax-highlighted JSON, and lays out the registered claims in a readable table.
Everything runs in your browser. The token is never transmitted, logged or stored on any server, so it is safe to inspect real production tokens. The decoder also never asks for your signing secret, because decoding is not verifying: anyone can read a JWT's payload, but only a party holding the secret or public key can confirm the signature is genuine. That distinction is why you should never put sensitive data in a JWT payload.
The time claims get special treatment. exp, nbf, iat and auth_time are converted from Unix seconds into readable dates — switchable between your local timezone and UTC — with relative phrasing like "expires in 42 minutes". A status badge tells you at a glance whether the token is valid, expired or not active yet, and a warning appears if the header declares alg: none, meaning the token is unsigned and trivially forgeable.
Popular uses
- ✦ Debug a 401 or 403 by checking whether the access token has actually expired
- ✦ Inspect the scopes, roles and audience your OAuth/OIDC provider put in a token
- ✦ Confirm which signing algorithm (alg) and key ID (kid) an identity provider used
- ✦ Compare payload claims between staging and production tokens when auth behaves differently
- ✦ Check iss and aud values when a token is rejected as "invalid audience" or "unknown issuer"
Frequently asked questions
Is it safe to paste a real production JWT here?
What is the difference between decoding and verifying a JWT?
Why does my token show as expired?
What do the standard claims like iss, sub, aud and jti mean?
What does the "Unsigned (alg: none)" warning mean?
Is JWT Decoder free to use?
Is my code or data sent anywhere?
More developer tools
All developer toolsPeople also use
We built this. We can build yours.
JWT Decoder is one of our free tools. Need a website, app, AI agent or automation? Fixed price — and you own the code.