Decode and inspect JSON Web Tokens instantly. View the header, payload, registered claims with expiry analysis, and algorithm detection -- all client-side. Your token never leaves your browser.
Paste any JWT and instantly see the decoded header and payload with syntax-highlighted JSON. Decoding happens entirely in your browser -- no server calls, no data stored.
Automatically identifies all seven registered JWT claims (iss, sub, aud, exp, nbf, iat, jti) with human-readable labels and values. Custom claims are listed separately for clarity.
Instantly see whether your token is expired or still valid. Unix timestamps for exp, iat, and nbf are converted to human-readable dates with relative time (e.g., "expired 2 hours ago").
Detects and displays the signing algorithm from the header, supporting HS256, RS256, ES256, PS256, EdDSA, and more. Warns about the insecure "none" algorithm.
JSON Web Tokens (JWTs) are a compact, URL-safe way to represent claims between two parties. Defined in RFC 7519, JWTs are widely used for authentication, authorization, and information exchange in modern web applications and APIs. A JWT consists of three Base64URL-encoded parts separated by dots: the header, payload, and signature.
header.payload.signature
The header typically contains the signing algorithm (e.g., HS256, RS256) and token type (JWT). The payload contains the claims -- statements about the user and additional metadata. The signature is used to verify the token has not been tampered with.
Paste your JWT into the text area above and the tool will instantly decode it. You will see the header and payload as formatted JSON with syntax highlighting, a detailed claims analysis with human-readable dates for time-based claims, expiry status, and information about the signing algorithm. Click the example buttons to see how different types of tokens are decoded.
iss (Issuer) -- who issued the token; sub (Subject) -- the entity the token is about; aud (Audience) -- the intended recipient; exp (Expiration Time) -- when the token expires as a Unix timestamp; nbf (Not Before) -- the earliest time the token can be used; iat (Issued At) -- when the token was created; and jti (JWT ID) -- a unique identifier for the token. None of these claims are mandatory, but they are recommended to ensure interoperability between different JWT implementations.
exp (Expiration Time) claim identifies the expiration time after which the JWT must not be accepted for processing. It is represented as a Unix timestamp (the number of seconds since January 1, 1970 UTC). For example, a value of 1700000000 corresponds to November 14, 2023. Our decoder converts this timestamp to a human-readable date and tells you whether the token is currently expired or still valid, along with how long ago it expired or how much time remains before expiration.
Check out our other free developer tools. Build Kubernetes manifests, parse AWS ARNs, and more -- all from your browser with no sign-up required.
Kubernetes YAML Generator →