Skip to content

JWT Decoder

Developer utilities · Done in 3 steps

Stays on your deviceFree · No sign-up
  1. 1Paste your token
  2. 2
  3. 3
Loading tool…

About

Decode JSON Web Tokens locally: pretty header and payload, exp/iat/nbf as readable dates with an expired badge, optional HS256 verification.

How to use it

  1. 1Paste a JWT (a leading “Bearer ” is fine).
  2. 2Read the decoded header and payload.
  3. 3Check the status badge and the Dates table for expiry and issue times.
  4. 4Optionally enter the shared secret to verify an HS256/384/512 signature.
You give
A JWT (JWS) string
You get
Decoded header and payload, claim dates, expiry status and signature verification result
Good to know
Signature verification supports HMAC (HS256/384/512) only; RS/ES/PS tokens need the issuer's public key and are decoded but not verified. Encrypted JWE tokens can't be decoded without the key.
Privacy
Processed on your device. Nothing is uploaded, stored or logged.
Last tested
2026-10-28

FAQ

Is it safe to paste my token here?

The token is decoded in your browser and never sent anywhere — there are no network requests. Still, avoid sharing live production tokens with anyone.

Does decoding a JWT prove it's valid?

No. Anyone can create a token with any payload. Only a verified signature (and checks on exp, aud and iss) tells you it's genuine.

Why is my token “expired” when it just worked?

Expiry is compared with your device clock. If your clock is off, or the server allows clock skew, the badge can differ from the server's view.

Go further with AI