JWT Decoder

Read a JWT's header and claims, see when it expires, and verify its signature

Decoded JWT

Paste a JWT to see the decoded header, payload, and signature here.

What is the JWT Decoder?#

The JWT Decoder turns a JSON Web Token into readable parts without sending it anywhere. Paste a token and it is split into header, payload, and signature as you type.

The header and payload are decoded from base64url into formatted JSON. Registered claims such as exp, iat, and iss are collected in a table with local time, UTC time, and Unix timestamps, and the expiration state is shown at a glance. HMAC signatures can be checked against a secret inside your browser.

How to Use#

  1. Paste the JWT into the input. A Bearer prefix, an Authorization: header, a pair of surrounding quotes, and line breaks are removed automatically.
  2. Read the decoded header and payload.
  3. Check the claims table for expiration and other times.
  4. For HS256, HS384, or HS512 tokens, paste the secret to verify the signature.

What You Can Check#

  • Header and payload: the decoded JSON, including private claims that are not registered.
  • Registered claims: iss, sub, aud, exp, nbf, iat, and jti. Time claims show local time, UTC time, and the raw Unix value, and every value can be copied individually.
  • Expiration: whether the token is valid, expired, or not valid yet, along with the remaining or elapsed time.
  • Sizes: the character and byte count of the token and of each decoded part.

Verifying the Signature#

HMAC signature verification is supported: HS256, HS384, and HS512. Paste the secret and the result appears automatically. The check runs in your browser, and the secret you enter is never sent or saved.

Tokens signed with other algorithms, such as RS or ES, can still be decoded, but their signatures cannot be verified.

Decoding only shows what a token claims. Anyone can build a token with any payload, so a readable token is not a trusted one. Compare the signature against the secret, or verify it on your server, before relying on the claims.

Common Use Cases#

  • Trace a 401 or 403 response: check whether the token has expired or the aud and iss values do not match the API.
  • Read the claims a frontend library has stored before debugging an authentication flow.
  • Before changing how your service signs tokens, check the alg value and other header fields.

Frequently Asked Questions#

Notes#

  • base64url is an encoding, not encryption. The header and payload can be read by anyone who has the token.
  • Only JWS tokens with three parts are supported. Encrypted tokens (JWE) with five parts are not decoded.
  • Decoder
  • Analyzer

Last updated:

Related tools