Skip to content

JWT Token Decoder

Decode JWT headers, payloads, expiry times and claims right in the browser.

Private Instant No sign-up No daily limit

Free to use. No account, no daily limit, and no watermark on the result.

 Encoded token

Empty
The signature is not verified. This tool only reads what is inside the token. A token can be forged or tampered with, so always validate the signature on your server before trusting any claim you see here.

 Token status

No token loaded
Algorithm
—
Token type
—
Issued at
—
Expires at
—
Time to live
—

Header

Payload

 All claims

0 claims
ClaimValueMeaning

How to decode a JWT token

1

Paste the encoded token

Copy the full compact token — header, payload and signature separated by dots — into the editor at the top.

2

Read the header and payload

Both parts are base64url-decoded and pretty-printed as JSON, with an algorithm and token type summary.

3

Check the expiry

The status panel shows the issued-at and expiry dates, whether the token is valid, expired or not yet valid, plus a live countdown.

4

Review every claim

The claims table lists each registered and custom claim with its raw value and a short explanation of what it means.

JWT decoder — frequently asked questions

No, and that is a security feature rather than a limitation to worry about. Decoding only reads the base64url segments. Signature verification needs the secret or public key and must happen on a server that you control — never paste production secrets into a web page.

A JWT payload is merely base64url-encoded, not encrypted. Anyone holding the token can read its contents, which is why you should never put passwords, card numbers or private keys in a JWT payload.

iss is the issuer, sub the subject (usually a user id), aud the intended audience, exp the expiry time, nbf the “not before” time, iat the issued-at time, jti a unique token id and typ the token type. Times are expressed as seconds since the Unix epoch.

Not directly. A JWE (encrypted JWT) has five dot-separated parts and its payload is encrypted, so there is simply nothing to read without the decryption key. This tool tells you when a token looks encrypted and asks you to paste a compact JWS instead.

No. Decoding runs entirely in your browser with atob and TextDecoder, so the token is never transmitted, logged or saved. Refresh the page and it is gone.

Related Developer Tools