Decode and inspect JWT tokens. Fast, secure, and completely free. All processing happens in your browser — no data is sent to any server.
A JWT Decoder splits a JSON Web Token into its three dot-separated segments — header, payload, and signature — and Base64URL-decodes the first two into readable JSON, so you can inspect claims like exp (expiration), iss (issuer), sub (subject), and any custom claims your application adds. Decoding is purely a read operation: it does not check whether the signature is valid, so a decoded token that looks legitimate could still be forged, expired, or issued by the wrong authority. For that, you need actual signature verification, which this tool intentionally does not perform.
When an API call fails with a 401 and you have a JWT in hand, the fastest way to understand why is usually to look inside it: has the token actually expired, does it have the audience the API expects, is it even the token you thought you were sending? Decoding it instantly answers those questions without writing a script or trusting a third-party tool with a token that might carry sensitive claims — everything happens locally in your browser.
No — decoding only reads and displays the header and payload; it doesn't check the signature at all. A token could be completely fabricated and still decode successfully. Use the JWT Validator to actually verify signatures.
Decoding runs entirely in your browser with no data sent to a server, so it's technically safe from a network perspective — but treat any real token carefully and avoid sharing screenshots of decoded output that reveal sensitive claims.
exp is a Unix timestamp marking when the token expires; once the current time passes that value, a properly implemented API should reject the token regardless of whether the signature is still valid.
A JWT always has three dot-separated parts: the header (algorithm and token type), the payload (the actual claims), and the signature (used to verify the first two haven't been tampered with).
If a segment is missing or not valid Base64URL/JSON, decoding that segment will fail and the tool will indicate which part couldn't be parsed, which itself is often useful for spotting where a token got corrupted.