Developer · free local utility

JWT Decoder & Expiration Checker

Inspect a token's readable claims and time window without sending the token to a server or confusing decoding with signature verification.

Use the tool

Paste a three-part JWT. The page decodes header and payload only, never asks for a secret, and compares time claims with this device clock.

Worked example

See the input and expected result

Example input
Synthetic alg=none token with sub=demo-user and an expiry in 2100
Expected result
Decoded, not verified · active now · header and payload shown as formatted JSON
How it works

Get a useful result in three steps

  1. Paste a synthetic or redacted JWT.
  2. Decode the header, payload, and registered time claims.
  3. Verify signature, issuer, audience, and policy in your real authentication library.
Accuracy boundary

A focused tool, not an automatic expert

Decoded does not mean authentic. This tool does not verify a signature, trust the issuer, fetch keys, or prove that a token is safe to accept.

Always verify the result in the system where you will use it. The page intentionally avoids accounts, uploads, and claims that go beyond the calculation it performs.

Questions

Before you use the result

Does this verify the JWT signature?

No. It intentionally decodes only. Signature verification requires a trusted key, allowed algorithm, issuer, audience, and application policy.

Why can anyone read the payload?

JWT header and payload segments are Base64URL-encoded, not encrypted. Never put a secret in a normal signed JWT payload.

How are exp, nbf, and iat interpreted?

NumericDate values are Unix seconds. The status is compared with this device clock, which may be incorrect or skewed.

Related tools

Continue the task locally

Browse every developer tools in this workflow.