JWT Decoder & Inspector

Read a JWT’s content and expiry dates and spot security issues, without sending it anywhere.

This tool runs entirely in your browser — no data is uploaded to our servers.

Was this tool helpful?

What is a JWT?

A JSON Web Token (JWT) is a text token used by web apps and APIs to prove who a user is after login. It has three dot-separated parts: the header (algorithm), the payload (data such as user ID and expiry) and the signature, which prevents tampering with the first two.

Many people miss this: the header and payload are encoded, not encrypted. Anyone holding the token can read them — exactly what this tool does.

How to use it

  1. Paste the token (with or without “Bearer”).
  2. The header and payload are shown as formatted JSON.
  3. Dates (exp, iat, nbf) are converted to readable dates with the time left or elapsed.
  4. Review the security notes: alg none, missing expiry, long lifetime, or sensitive data in the payload.

Standard claims

ClaimMeaning
isswho issued the token
subthe subject (usually the user ID)
audthe app the token is meant for
exp / nbf / iatexpiry / not before / issued at (seconds since 1970)

Good security practices for developers

  • Always verify the signature on the server and whitelist accepted algorithms — never trust the token’s own alg value.
  • Keep access tokens short-lived (minutes to hours) and use refresh tokens when needed.
  • Never put passwords, card data or secrets in the payload.
  • Treat a token like a password: don’t post it in screenshots or forums.

Decoding happens in your browser; the token is never sent. To compute HMAC signatures, use the hash generator.

Frequently asked questions

Is it safe to paste a real JWT here?

The tool runs in your browser and never sends the token. Still, prefer test or expired tokens, as with any sensitive data.

Does the tool verify the signature?

No, it only decodes. Verification needs the secret or public key and should happen on the server.

Why can I read a JWT without a key?

Because the header and payload are only Base64URL-encoded. The signature prevents changes, not reading.

What does the number in exp mean?

Seconds since 1 January 1970 (Unix time); the tool converts it to a readable date in your local time.

Request a new tool

Need a tool we do not have yet? Describe it briefly. We read every request and build the most wanted ones.