Blog
Wild & Free Tools

JWT Standard Claims Reference: What Every Claim Means

Last updated: April 2026 5 min read
Quick Answer

Table of Contents

  1. The Seven Registered Claims
  2. Reading exp and iat Timestamps
  3. Registered vs Public vs Private Claims
  4. OpenID Connect Claims
  5. Frequently Asked Questions

A JWT payload is a JSON object containing claims — statements about the subject and the token itself. The IANA JSON Web Token Claims Registry defines seven standard registered claims that appear in nearly every JWT you will encounter. Paste your token into the decoder above to see its claims decoded instantly.

The Seven IANA Registered JWT Claims

These are the standard claims defined in RFC 7519. All are optional by the spec, but most implementations use several of them:

How to Read exp and iat Timestamps

The exp and iat claims are Unix timestamps — the number of seconds elapsed since January 1, 1970 UTC. A value like 1735689600 is not human-readable on its own.

The JWT decoder above automatically converts these to readable dates. If you want to convert manually:

# In browser console
new Date(1735689600 * 1000).toISOString()
// "2025-01-01T00:00:00.000Z"

# Python
import datetime
datetime.datetime.fromtimestamp(1735689600)
# datetime.datetime(2025, 1, 1, 0, 0)

Note: multiply by 1000 in JavaScript because JS uses milliseconds, not seconds.

To check if a token is expired, compare exp to the current time: if exp is less than Date.now() / 1000, the token has expired.

Sell Custom Apparel — We Handle Printing & Free Shipping

Registered, Public, and Private Claims

JWT claims fall into three categories:

When you decode a JWT from Auth0, Firebase, or Supabase, you will typically see a mix: registered claims (sub, iss, exp, iat) plus provider-specific public claims (email, email_verified, name) plus any custom private claims your app adds.

Common OpenID Connect Claims

If your JWT comes from an OpenID Connect provider (Auth0, Google, Firebase, Keycloak, Supabase), you will see additional claims beyond the base seven:

These follow the OpenID Connect Core spec and are consistent across compliant providers. Paste your OIDC token above to see all claims decoded and labeled.

Decode Your JWT and Read Claims Now

Paste any JWT above — header, payload, and all claims decoded instantly in your browser. No signup, no upload.

Open Free JWT Decoder

Frequently Asked Questions

Are all seven registered JWT claims required?

No — all registered claims are optional per RFC 7519. However, exp and iat are strongly recommended for security. Many auth libraries will reject tokens missing exp.

Can the same claim name be used as both a registered and a private claim?

You should avoid it. If you add a custom "sub" or "exp" claim with a different meaning, it will conflict with the standard. Use namespaced private claims like "https://yourapp.com/role" to avoid collisions.

Is it safe to decode JWT claims in the browser?

Decoding is safe — it is just base64url decoding. But never put sensitive secrets in JWT payloads, since anyone who has the token can decode and read the claims without a key.

What is the difference between iat and nbf?

iat (Issued At) records when the token was created. nbf (Not Before) sets a future activation time — the token cannot be used before that timestamp even if it was issued earlier.

Ryan Callahan
Ryan Callahan Lead Software Engineer

Ryan architected the client-side processing engine that powers every tool on WildandFree — ensuring your files never leave your browser.

More articles by Ryan →
Launch Your Own Clothing Brand — No Inventory, No Risk