How to Read JWT Expiration and Security Claims Like a Developer
A JWT contains an exp claim that tells you when the token dies. Read it wrong and your API calls fail mysteriously. Here's how to decode and verify JWT expiration, issuer, and audience.
Your API starts returning 401 Unauthorized at exactly 10:00 AM every day. The tokens worked an hour ago. You check the server logs. Nothing obvious. You open the token in a JWT decoder and look at the payload. There it is: "exp": 1723507200. The token expired at 10:00 AM. The exp claim — a Unix timestamp — is the expiration time, and your token died on schedule.
How to Read a JWT Expiration Claim
Step 1: Decode the token. Paste your JWT into the JWT decoder. A JWT is three base64url parts separated by dots: header, payload, signature. The decoder splits them and shows the claims in plain text. Step 2: Find the exp claim. Look for exp in the payload. It is a Unix timestamp — seconds since January 1, 1970, UTC. The decoder converts it to a human-readable date. If the date is in the past, the token is expired. Step 3: Check the other security claims. iss tells you the issuer — the server that issued the token. aud is the audience — the service the token is meant for. iat is issued-at time. nbf (not before) means the token is not valid until a certain time. A token that fails aud will be rejected even if it has not expired. Step 4: Verify the signature. The signature proves the token was not tampered with. The hash generator shows you how signature algorithms produce fixed-length outputs. The base64 converter helps you understand the encoding layer under the claims. The JWT decoder is the diagnostic tool. The exp claim is the expiry clock. Together they turn a confusing 401 into a fixable cause.
Tools mentioned in this article
JWT Decoder
Decode JWT tokens instantly — inspect header, payload, and signature. See algorithm, issued-at and expiration timestamps in human-readable format. All decoding happens in your browser, your tokens never leave your device.
Hash Generator
Generate SHA-1, SHA-256, SHA-384, and SHA-512 hashes from any text. Also supports MD5 for legacy checks. Compare two hashes side by side to verify file integrity.
Base64 Encoder/Decoder
Encode text to Base64 and decode Base64 back to readable text. Works with standard Base64 and URL-safe variants. Quick way to embed data in URLs or decode API responses.
