JWT Decoder
Paste a JSON Web Token to read its header, payload and claims, see exactly when it expires, and verify an HMAC signature — all without leaving your browser.
Decoded on your device with the Web Crypto API — the token and secret are never uploaded.
Registered claims
Verify signature
Nothing saved yet. Your recent inputs appear here — stored only in this browser, never uploaded.
Your data never leaves your browser
This tool runs entirely in your browser. There is no upload endpoint on this page — your input is processed locally with native browser APIs, and nothing is sent to a server or logged. Open your browser's network panel and check: the only request is the page itself.
How it works
Three steps, no surprises
Paste the token
Drop in any JWT. The three colour-coded parts — header, payload and signature — split apart and decode instantly. Nothing is uploaded.
Read the claims
See the full JSON, plus the standard claims spelled out — who issued it, who it’s for, and whether it’s expired, not yet valid, or still good.
Verify it (optional)
For HS256/384/512 tokens, paste the shared secret and the signature is checked locally with the Web Crypto API. The secret never leaves your device.
FAQ
JWT Decoder questions, answered
What is a JWT?
A JSON Web Token (JWT) is a compact, URL-safe way to carry a set of claims between two parties — most often used as a login or API access token. It has three parts separated by dots: a header (which signing algorithm is used), a payload (the claims, such as who the user is and when the token expires) and a signature (which lets the server check the token has not been tampered with). The header and payload are just Base64url-encoded JSON, which is why this tool can show their contents instantly.
Is it safe to paste my token here?
The decoding happens entirely in your browser — the token is never uploaded, and you can confirm that in your browser’s network panel. That said, a JWT is usually a live credential, so treat it like a password: only paste tokens from test or development environments, and never share a screenshot or a link containing a real production token. The optional signing secret you enter to verify a signature also stays on your device and is deliberately left out of share links and history.
Can anyone read what’s inside a JWT?
Yes. The header and payload are only Base64url-encoded, not encrypted, so anyone holding the token can decode and read them — exactly as this tool does. The signature stops someone altering the claims without being detected, but it does not hide them. The practical rule: never put anything secret (passwords, card numbers, private personal data) in a JWT payload. If the contents must stay confidential, you need an encrypted token (JWE) instead.
What do claims like exp, iat, nbf, iss and sub mean?
These are the registered (standard) claims. “iss” is the issuer, “sub” the subject (usually the user the token is about), and “aud” the intended audience. The time claims are Unix timestamps: “iat” is when the token was issued, “nbf” the time before which it must not be accepted, and “exp” when it expires. This tool converts those timestamps into readable dates and tells you at a glance whether the token is currently valid, not yet valid, or expired.
Does decoding a JWT mean it is valid?
No — decoding and verifying are different things. Decoding just reads the Base64url contents, which works for any token regardless of whether the signature is genuine. Verifying checks that the signature was produced with the correct key and that the token has not expired. A decoded payload you can read is not proof the token is authentic; only a successful signature check against the right secret or public key proves that.
How do I verify a JWT’s signature?
If the token uses an HMAC algorithm (HS256, HS384 or HS512), paste the shared signing secret into the “Verify signature” box and the tool recomputes the signature locally with the Web Crypto API and tells you whether it matches. Tokens signed with RSA or ECDSA (RS256, ES256 and similar) are verified with a public key rather than a shared secret; this tool decodes those fully but does not perform their signature check. The secret you type is used only in your browser and is never stored or shared.
Other free developer tools
Every one runs in your browser. No signup, no upload, no ads.
Need help with your website's SEO?
Book a free consultation with our London team.
Book a Free Consultation