What the JWT Decoder does
A JWT decoder splits a compact token into header, payload and signature so you can inspect claims such as sub, exp and alg. It does not verify signatures and should not be used as authentication.
Paste a JSON Web Token to see its header and payload as formatted JSON, including claims like exp, iat, sub and alg. Decoding runs in this tab and needs no key, because a signed JWT is encoded, not encrypted. This tool does not verify the signature, so never use it to decide whether a token is trusted.
{
"alg": "HS256",
"typ": "JWT"
}{
"sub": "ada",
"name": "Ada Lovelace",
"iat": 1700000000,
"exp": 1893456000
}signature-not-verified
Runs in this tab · nothing is uploaded · Verify in 10 seconds →
A JWT decoder splits a compact token into header, payload and signature so you can inspect claims such as sub, exp and alg. It does not verify signatures and should not be used as authentication.
The token is split on dots. Each of the first two segments is Base64URL-decoded in this browser, then pretty-printed if the result is JSON. The signature is shown as-is and never sent anywhere.
This tool does not verify signatures and has no field for key material.
~/faq
No. Decoding Base64URL-decodes the header and payload so you can read claims such as sub, exp and alg. Verification needs the issuer's secret or public key and a cryptographic check. This tool only decodes; it never verifies the signature and should not be used as authentication.
The token never leaves this device through LocalFirstTools. Still treat live tokens as secrets: do not screenshot them, and prefer expired or dummy tokens when you can.
Some libraries historically accepted unsigned tokens when alg was none. This decoder will still show the payload; it will not tell you the token is trustworthy.
The segments may not be valid Base64URL, or the token may be truncated. Paste the full three-part string, including the signature segment.
Chosen for the same job, not just the same category.