Skip to content
Back to tools

JWT Decoder

Decode JSON Web Tokens, check expiry, spot risky claims and verify signatures locally.

Decoded entirely in your browser. The token is never sent anywhere, stored, or put in the URL.

How JSON Web Tokens work

A JWT is three base64url-encoded parts joined by dots: a header saying how it was signed, a payload of claims about the user or client, and a signature over the first two.

base64url(header) . base64url(payload) . base64url(signature)

The payload is encoded, not encrypted. Anyone holding a token can read it, which is exactly what this decoder does. The signature is what stops tampering: change one character of the payload and verification fails.

Registered claims

Signing algorithms

Decoding isn't verifying

Never make an access decision from a decoded payload alone. Your server must verify the signature, check exp/nbf (allowing a little clock skew), and validate iss and aud. Keep secrets out of the payload, because it's readable by anyone. If a webhook carries a JWT, you can explore the rest of its body with the Webhook Payload Inspector.

Back to tools