Paste a JSON Web Token to read its header and claims, see when it expires, and spot risky settings. Decoded in your browser: tokens are never sent or logged.
The first two are just JSON, encoded as URL-safe Base64. Anyone can read them. Only the third, the signature, needs a key.
{ "alg": "HS256", "typ": "JWT"}{ "sub": "user_4821", "exp": 1790003600}HMACSHA256( header + "." + payload, secret)Three-letter names defined by the JWT standard (RFC 7519). All optional, but servers rely on them to decide whether to trust a token.
Your browser's Web Crypto API signs the token below with the algorithm you pick. HMAC algorithms use your secret; the others use a key pair generated in this tab that never leaves it. It then verifies two tokens: the one it just made, and a copy with one claim changed but the original signature kept. Nothing is sent anywhere.
generating a key pair…The private half stays in this tab and is thrown away when you leave. Verifiers only ever need the public key.
{ "alg": "HS256", "typ": "JWT"}This runs the checks in the order RFC 8725, the JWT best-practice document, recommends, on whatever token is in the decoder at the top of the page. Set the server's expectations on the left. Move the clock to see expiry, not-before and leeway in action.
The registered signature algorithms from RFC 7518 and RFC 8037, with the signature size each adds to every token. The last column was found by asking this browser's Web Crypto API to create a key for each one.
For building and debugging login flows.