JWT Decoder
JWT Token
Loading editor…
Decoded

Paste a JWT token in the editor
to decode it

JWT Decoder

Paste any JWT and instantly see its decoded header, payload, and signature. All decoding happens in your browser — your tokens never leave your machine.

100% Client-Side
Nothing is sent to any server. Your tokens stay private.
Expiry Detection
Shows whether a token is valid, expired, or not yet active.
Timestamp Decoding
exp, iat, nbf and other Unix timestamps are shown as human-readable dates.
Claim Annotations
Standard JWT claims are labelled with their meaning automatically.

What is a JWT?

A JSON Web Token (JWT) is a compact, URL-safe token format defined in RFC 7519. It is widely used for authentication and information exchange between services.

A JWT consists of three base64url-encoded parts separated by dots:

PartContentsExample
HeaderAlgorithm and token type{"alg":"HS256","typ":"JWT"}
PayloadClaims (data){"sub":"user_42","exp":1893456000}
SignatureIntegrity checkHMACSHA256(header + "." + payload, secret)

The header and payload are simply base64url-encoded JSON — they are not encrypted. Anyone with the token can read them. The signature verifies that the token was issued by a trusted party and has not been tampered with.

Standard JWT Claims

The JWT specification defines a set of registered claim names with well-known meanings:

ClaimNameDescription
issIssuerWho issued the token
subSubjectWho the token is about (usually a user ID)
audAudienceWho the token is intended for
expExpirationWhen the token expires (Unix timestamp)
nbfNot BeforeToken not valid before this time
iatIssued AtWhen the token was issued
jtiJWT IDUnique identifier for the token

Applications can also add any custom claims (e.g. role, email, permissions).

Frequently Asked Questions

Is it safe to paste my JWT here?

Yes. All decoding is done entirely in your browser using JavaScript. The token is never sent to any server. You can verify this by checking the browser network tab — no requests are made when you paste a token.

Can this tool verify a JWT signature?

No. Signature verification requires the secret key (for HMAC algorithms like HS256) or the public key (for RSA/ECDSA algorithms like RS256). This tool only decodes the token — it reads the header and payload without verifying authenticity.

What does 'No expiry' mean?

It means the token does not contain an exp claim. Such tokens are valid indefinitely unless explicitly revoked. This is common for API keys and service account tokens.

Why is the payload not encrypted?

Standard JWTs (JWS — JSON Web Signature) are signed, not encrypted. The payload is base64url-encoded, which is trivially reversible. Never put sensitive data like passwords in a JWT payload. For encrypted tokens use JWE (JSON Web Encryption) instead.