JWT Decoder

Decode JSON Web Tokens online and inspect the header, payload, claims, expiration, algorithm, and signature.

JWT input

Processed locally in your browser Limit 20,000 characters. Your input is processed in your browser and is not uploaded or sent to a server. Avoid pasting production secrets, access tokens, private keys, passwords, or sensitive customer data unless you understand the risk.
0 / 20,000 characters0 partsExpected 3 parts

Decode summary

Readable contents are decoded below. Verification status is shown separately.

Token structure
Invalid format
Header decoded
No
Payload decoded
No
Signature present
No
Signature verification
Not performed
Algorithm
Unknown
Expiration
No exp claim
Active status
Unknown
Token type
Unknown
Paste a JWT to inspect itThe header, payload, timing claims, and signature details will appear here.

What is a JWT decoder?

A JWT decoder reads the Base64URL-encoded header and payload of a JSON Web Token and displays their JSON content. Decoding is useful for inspection and debugging, but it does not verify who created the token.

How to decode a JWT

  1. Paste the token into the input above.
  2. Inspect the header for the declared algorithm, token type, and key ID.
  3. Inspect the payload for identity, audience, role, and permission claims.
  4. Check exp, iat, and nbf timing details.
  5. Remember that decoding is not signature verification.

What are the parts of a JWT?

A compact JWT usually contains three dot-separated parts. The header declares metadata such as the signing algorithm. The payload contains claims. The signature lets a verifier detect modification and confirm the expected issuer key was used.

Common JWT claims

iss is the issuer, sub is the subject, aud is the intended audience, exp is expiration, nbf is not-before, iat is issued-at, and jti is a unique JWT identifier.

JWT decoder vs JWT verifier

A decoder shows token contents. A verifier checks the signature using a trusted secret or public key and also enforces claims such as issuer, audience, and time limits. Never trust decoded data until the token has been verified by the application that receives it.

Private browser-based decoding

This tool runs in your browser and does not upload or store the token. JWTs may still contain sensitive user and authorization data, so avoid pasting production tokens unnecessarily.

JWT security best practices

Keep access tokens short-lived, validate the signature and expected algorithm, enforce issuer and audience checks, and allow only small clock-skew tolerances for time claims. Do not place secrets or unnecessary personal data in a JWT payload because signed JWT contents are encoded, not encrypted.

Frequently asked questions

Is this JWT decoder free?

Yes. It is free to use.

Does this tool upload my JWT to a server?

No. The token is decoded locally in your browser.

Does decoding a JWT mean it is valid?

No. Decoding only shows the contents. Signature verification is required to confirm trust.

Can I decode expired JWTs?

Yes. Expired JWTs can still be decoded, but they should not be accepted by applications.

What does the exp claim mean?

exp is the expiration time represented as a Unix timestamp in seconds.

What does the alg field mean?

alg identifies the signing algorithm declared in the JWT header.

Why should I be careful with JWTs?

JWTs may contain sensitive user, identity, or authorization data even though their contents are only encoded, not encrypted.