redzilla
All tools
Security

JWT Decoder

Paste a JWT and I show its decoded header and payload, the signing algorithm and claims (iss, sub, aud, exp, iat, nbf) with readable dates and expiry status. The token never leaves your browser.

Structure header.payload.signature in Base64URL. Decoded locally.

Only HS* (HMAC) signatures. Checked in your browser with Web Crypto. RS*/ES* signatures are not verified here.

redzilla.cl — jwt
 
Status
paste a token to decode
Algorithm
signature not verified
alg
typ
sub
exp

Header

Payload

Registered claims

ClaimValueMeaning
No claims to show yet.
How it works · anatomy of a JWT

1. A JWT has three parts separated by dots: header.payload.signature. Header and payload are JSON encoded in Base64URL (URL-safe variant: +-, /_, no = padding).

2. The header declares the signing algorithm (alg) and type (typ). The payload carries the claims: data such as sub (subject), iss (issuer) or exp (expiry).

3. The exp, iat and nbf dates are epoch seconds (Unix). Here I convert them to readable date and time and compare exp against the current time to flag the token as valid or expired.

4. Decoding is not verifying. Anyone can read the payload; the signature is what guarantees it was not tampered with. It is only checked if you paste the HS* secret. Never trust a token without verifying its signature on the server.

Decoded locally in your browser · no sign-up · the token is never sent to any server.

Was this tool useful?
Disclaimer We take great care to keep every tool accurate and review it thoroughly; even so, we can't guarantee it is free of errors or take responsibility for how the results are used. We recommend double-checking anything critical.
Found an error? Let us know →