JWT Decoding·7 min read·Updated October 24, 2026

JWT Claims Explained: The Complete Reference for Standard and Custom Claims

Claims are the building blocks of JSON Web Tokens. RFC 7519 reserves seven short registered claim names for interoperability. Understanding each claim and verifying them strictly prevents identity spoofing and replay attacks.

The 7 Registered Claims in Detail

• **iss (Issuer)**: Case-sensitive string or URI identifying who created the token. • **sub (Subject)**: The principal being asserted (e.g., user ID `usr_123`). Must be locally or globally unique. • **aud (Audience)**: The intended consumer. Can be a string or array of strings. Verifiers must reject tokens if they are not in the aud list. • **exp (Expiration Time)**: Integer Unix timestamp (seconds). Token is invalid after this instant. • **nbf (Not Before)**: Integer Unix timestamp. Token cannot be accepted before this instant. • **iat (Issued At)**: Integer Unix timestamp recording token creation time. • **jti (JWT ID)**: Unique identifier for the token, used to track token revocation or prevent replay attacks.
Generate in Browser

Need a cryptographically secure JWT secret right now?

Generate 128 to 512-bit keys in Hex or Base64 using Web Crypto with zero server transmission.

Launch Generator

Frequently Asked Questions

Are timestamp claims in milliseconds or seconds?

Seconds! RFC 7519 defines NumericDate as seconds since Unix Epoch (1970-01-01T00:00:00Z). Passing JavaScript milliseconds (Date.now()) is a very common bug.

JWT Claims Explained – iss, sub, aud, exp, nbf, iat & jti Guide | JWT Secret Key Generator | JWT Secret Key Generator