Practical example
If exp is lower than the current Unix time, the token is expired even when its header and payload decode cleanly.
Paste a JWT token below to decode the header and payload. Decoding does not verify the signature.
Note: this tool decodes only. It does not validate or verify signatures.
JWT (JSON Web Token) is a compact token format used for authentication and authorization.
A JWT usually has three parts: header, payload, and signature. This tool decodes header and payload locally in your browser and does not verify the signature.
Learn the workflow behind this tool and what to check next.
A security-aware workflow for separating token structure, claim validation, signature verification, and authorization decisions.
An encoding workflow that prevents alphabet and byte mistakes and never confuses readable JWT claims with verified identity.
Decoding a JWT helps you verify claims and expiration metadata, but it does not prove that the token is trusted or accepted by your backend.
Check exp, iat, nbf, timezone assumptions, and clock skew before investigating sessions or refresh token flows.
Confirm aud, iss, tenant, client_id, and environment values match the service that will validate the token.
Inspect scopes, roles, permissions, and feature flags when an authenticated request is accepted but unauthorized.
Decoded content is not verification. Never treat an unsigned or unverified token as proof of identity.
If exp is lower than the current Unix time, the token is expired even when its header and payload decode cleanly.
A decoded token can contain any forged claims. Without signature verification against the expected algorithm and key, identity is unproven.
I check iss, aud, exp, nbf, and clock skew together because most JWT failures are contract mismatches, not decoding problems.
You may also find these tools useful.