Paste a JWT
Signature verification
Decoded
Choose an operation to start

JWT Decoder & Signature Verifier

Paste a JWT (three dot-separated segments) to decode the Header and Payload JSON and turn exp (expiry), iat (issued at) and nbf (not before) into readable UTC times.

For HS256/384/512 tokens, supply the secret to verify the signature locally. Decoding and verification run in your browser — the token and secret never leave your device.

Features

How to use

  1. Paste the full JWT (three segments joined by ".") on the left.
  2. The decoded Header, Payload and time fields appear on the right immediately.
  3. To verify a signature, enter the HS algorithm secret in the Signature verification box.

FAQ

Does decoding a JWT prove identity?

No. Decoding only makes the content readable; anyone can decode a JWT. Trust depends on the server checking the signature with its key. This tool only does a local HS verification when you provide a secret; RS/ES algorithms are not verified here.

Why does it still say not verified with a secret?

Only alg values of HS256/384/512 are verified with the secret. For RS256/ES256 and other asymmetric algorithms the signature must be checked with a public key on the server, which the browser cannot do safely — the tool says so explicitly.

If exp has passed, is it definitely invalid?

Yes, exp is the expiry time and servers reject expired tokens. This tool only decodes and displays; whether a token is accepted is always up to your server.

Feedback

This site is front-end only — no backend, no accounts — so feedback goes to GitHub Issues, Discussions, or email.

Paste it into the issue or email to help track it down — it never includes anything you typed

Also: Browse existing issues · Email feedback (no GitHub account needed): 278975598@qq.com