AceDevHub

JWT Decoder

Decode header & payload locally · does not verify signatures

JWT input

Loading editor…

Decoded output

Tokens are decoded locally in your browser. Do not paste production secrets or sensitive user tokens.
Valid JWT structureExpired
Algorithm
HS256
Type
JWT

Warning: This tool only decodes the token. It does not verify the signature.

Header

{
  "alg": "HS256",
  "typ": "JWT"
}

Payload

{
  "sub": "user_123",
  "name": "AceDevHub User",
  "role": "developer",
  "iat": 1735686000,
  "exp": 1735689600
}

Claims

ClaimMeaningValue
subSubject / user iduser_123
expExpiration time1735689600 Expires: Jan 1, 2025, 12:00 AM Status: Expired
iatIssued at1735686000 Issued: Dec 31, 2024, 11:00 PM
roleUser roledeveloper
nameDisplay nameAceDevHub User

Signature

ZGVtby1zaWduYXR1cmUtbm90LXZlcmlmaWVk

Signature segment present. This tool decodes JWTs for inspection. It does not verify whether the token is trusted.

What is a JWT Decoder?

A JWT decoder is an online tool that reads a JSON Web Token and shows its header, payload, and signature segment. It helps developers inspect auth tokens, debug API issues, and understand claims like exp and sub without setting up backend tooling.

What this tool does

  • Decodes JWT header and payload as formatted JSON.
  • Validates basic JWT structure (header.payload.signature).
  • Shows common claims in a readable table.
  • Converts exp, iat, and nbf timestamps into human-readable dates.
  • Displays token status: Active, Expired, Not active yet, or No expiry.
  • Highlights algorithm details and security warnings.

How to decode a JWT online

  1. Paste your JWT into the input panel.
  2. Click Decode.
  3. Review header JSON, payload JSON, claims, and expiry status.
  4. Copy payload, header, or full decoded JSON as needed.

Understanding JWT header, payload, and signature

A JWT has three dot-separated parts. The header usually contains alg and typ. The payload contains claims such as user id, roles, and expiry. The signature is used by servers to verify trust — this tool shows whether the signature segment exists but does not verify it in V1.

Common JWT claims explained

ClaimMeaning
issIssuer — who created the token
subSubject — usually the user id
audAudience — intended recipient service
expExpiration — unix timestamp when token expires
iatIssued at — unix timestamp when token was created
nbfNot before — token is invalid before this time
role / rolesPermission or role claims when present
scopeOAuth-style API permission scopes

How JWT expiration works

The exp claim stores a Unix timestamp for when the token should stop being accepted. The nbf claim means the token is not valid before that time. AceDevHub shows both raw timestamps and readable dates so you can quickly see whether a token is active or expired.

JWT decoding vs JWT verification

Decoding only reads the token contents. Verification checks the signature with a secret or public key and confirms the token was issued by a trusted authority. This V1 tool decodes for inspection only. Do not treat a decoded payload as proof that a token is trustworthy.

Common JWT mistakes

  • Confusing decoding with verification
  • Trusting a decoded payload without checking the signature
  • Using tokens after exp has passed
  • Forgetting nbf means "not before"
  • Storing sensitive secrets inside JWT payload
  • Using alg: none
  • Using very long token expiry
  • Putting too much user data inside tokens
  • Assuming JWT payload is encrypted

FAQ

Does this JWT decoder verify signatures?
No. V1 decodes and inspects JWT structure and claims only. It does not verify HS256, RS256, or any other signature.
Is my JWT sent to a server?
No. Tokens are decoded locally in your browser. Do not paste production secrets or sensitive user tokens.
What is the difference between decoding and verifying a JWT?
Decoding reads the header and payload. Verifying checks that the signature was created by a trusted key. This tool decodes only.
Why does my token show as expired?
If the exp claim is in the past, the tool marks the token as expired. That does not mean the payload is fake — only that the expiry time has passed.
What does alg: none mean?
It means no signature algorithm was used. Tokens with alg "none" should not be trusted in production systems.
Can I use this for Auth0, Clerk, or Firebase tokens?
You can inspect the header and payload structure, but this tool does not integrate with provider-specific verification flows in V1.
Is JWT payload encrypted?
No. JWT payloads are base64url-encoded JSON, not encrypted. Anyone who has the token can decode the payload.

Related tools

Related interview prep

Related roadmaps

Want the full structured path from JavaScript basics to production auth and API workflows? Join the AceDevHub course waitlist.

Join the course waitlist