Skip to main content

JWT Expiry Checker

Paste a JWT to decode its payload and check whether it is expired, not yet valid, or active — with the exp, nbf and iat claims converted from Unix time to human-readable ISO 8601 UTC. The token is decoded in your browser and never uploaded.

Input

Only the payload is decoded — the signature is not verified. The token stays in your browser.

The instant to evaluate the token against. Enter Unix seconds (e.g. 1704067200) or an ISO 8601 date (e.g. 2024-01-01T00:00:00Z). Leave blank to use the current time.

Output

Time Claims
ClaimRaw ValueUTC (ISO 8601)Note
No data yet
Was this helpful?

Guides

Check whether a JWT is expired, active, or not yet valid

A JSON Web Token (JWT) carries its own validity window inside three registered time claims: exp (expiration), nbf (not-before), and iat (issued-at). Those values are stored as raw Unix timestamps — seconds since 1 January 1970 — which are impossible to read at a glance. The JWT Expiry Checker decodes the token's payload, pulls out those claims, and converts each one into a human-readable ISO 8601 UTC timestamp, then tells you in plain English whether the token is currently valid, expired, or not yet valid.

It is the fast answer to the everyday question "is this token still good?" without reaching for a debugger, a script, or an online decoder that ships your token to a server.

How to use it

  1. Paste your JWT into the JWT Token box. A JWT has three dot-separated segments: header.payload.signature.
  2. Optionally set a Reference Time (now) — either Unix seconds (e.g. 1704067200) or an ISO 8601 date (e.g. 2024-01-01T00:00:00Z). Leave it blank to evaluate the token against the current clock.
  3. Read the Status line for the verdict, and the Time Claims table for each claim's raw value, its UTC equivalent, and a note such as "expires in 1h" or "expired 3d ago".

The reference-time field is what lets you answer "was this token valid at 2pm yesterday?" or reproduce a check exactly — handy when debugging clock-skew and "token expired too early" issues.

Why isn't the signature verified?

This tool inspects the timing of a token, not its authenticity. Verifying a signature requires the issuer's secret or public key, which the checker never asks for. A token can be perfectly within its validity window and still be forged — always verify signatures server-side before trusting a token.

What does "not yet valid" mean?

If a token carries an nbf (not-before) claim set to a future time, it must not be accepted until that moment arrives. The checker flags this state separately from "expired" so you can tell a premature token apart from a stale one.

What if the token has no exp claim?

Not every JWT expires. When there is no exp claim, the token is reported as valid with a note that it has no expiration — which is itself worth knowing, since non-expiring tokens are a security concern.

Which timezone are the dates in?

All timestamps are shown in UTC (ISO 8601, ending in Z). Unix time is timezone-independent, so UTC is the unambiguous way to display it.

Privacy

The JWT Expiry Checker runs entirely in your browser. Your token is decoded locally with JavaScript and is never uploaded, logged, or sent anywhere. You can paste production tokens safely — nothing leaves your machine.

jwtjson web tokenexpiryexpirationexpauthtoken

Part of a workflow

All collections

Love the tools? Lose the ads.

One payment clears every ad from your account, for good. No subscription, no tracking.