How to use
Paste a JWT string into the input box, and its header and payload appear as neatly formatted JSON. You’ll also see the signing algorithm, the actual date and time for each registered claim (exp, iat, nbf), and whether the token has expired or isn’t valid yet. Copy buttons let you grab the header or payload output directly. Nothing you paste is ever sent anywhere — it’s all processed inside this browser.
The three parts of a JWT
A JWT is made of three dot-separated parts: header.payload.signature. The header carries metadata such as the signing algorithm (alg) and token type (typ), while the payload carries the actual claims — things like a user ID, permissions, or an expiration time. Both parts are just Base64URL-encoded JSON, not encryption, so anyone can decode and read them. Only the final signature part is signed with a secret (or private) key, and it exists to confirm the header and payload haven’t been altered since they were issued.
Decoding is not the same as verifying
This tool only reads and displays the header and payload — it never verifies the signature. Verifying a signature requires the secret key (for HMAC-based algorithms) or public key (for RSA/ECDSA-based algorithms) belonging to whoever issued the token, and this tool neither accepts such a key nor makes any network call outside your browser. So the fact that the content displays correctly doesn’t mean the token is genuine or still valid. Never paste a production token, or a secret key you don’t fully trust, into this or any other online tool.
Registered claims (exp, iat, nbf)
The JWT standard (RFC 7519) defines a handful of standard claim names, including exp (expiration time), iat (issued-at time), and nbf (not-before time). All three are stored as a NumericDate — the number of seconds since January 1, 1970. This tool converts that number into a date and time in your locale, then compares it against the current time: an exp in the past is marked “Expired,” and an nbf still in the future is marked “Not yet valid.” This status is shown for reference only — actual access control must still be enforced by server-side verification.
Privacy
The token you paste and its decoded result are computed entirely inside this browser and never sent to a server. Keep in mind, though, that a JWT payload was never encrypted to begin with, so information like an email address, role, or internal ID inside it is readable by anyone, with or without this tool.