jwt

Decode JWT tokens and inspect header, payload claims, and expiry status - entirely in your browser with no server involved.

Overview

JWTs (JSON Web Tokens) are composed of three base64url-encoded parts separated by dots:

<header>.<payload>.<signature>

This tool decodes the header and payload as JSON and displays them in separate panels. The signature is shown as-is (raw base64url string) since verifying it requires a secret or public key, which this tool does not support.

Decoding

Paste any JWT into the input panel. The tool immediately splits the token and decodes each part:

  • Header - algorithm and token type (e.g. { "alg": "HS256", "typ": "JWT" })
  • Payload - claims such as sub, iat, exp, and any custom fields
  • Signature - the raw base64url-encoded signature bytes (not verified)

If the token is malformed (not three dot-separated base64url segments, or non-JSON header/payload), a malformed badge appears and no output is shown.

Expiry Status

The payload panel shows a status badge based on the exp claim:

BadgeMeaning
validexp is in the future
expiredexp is in the past
no expNo exp claim present

The check uses Date.now() in your local browser - no server clock is involved.

Generate

Click Generate in the token input header to create a structurally valid JWT on the spot. Each generated token has:

  • Header - { "alg": "HS256", "typ": "JWT" }
  • Payload - a random sub (UUID), name, role, iat (now), and exp (1 hour from now)
  • Signature - 32 random bytes, base64url-encoded (not a real HMAC - the token is not cryptographically valid)

This is useful for quickly seeing how the decoder works without needing a real token.

Every token you paste is reflected into the URL as ?v=<token>. You can share or bookmark these URLs to reopen the decoder with the same token pre-filled.

  • Copy - copies the current permalink to your clipboard
  • Reset - clears the token and removes the URL parameter

See also

  • HTTP Headers - request and response headers including Authorization, caching, CORS, and security fields
  • HTTP Status Codes - complete reference for 1xx–5xx response codes