About JWT Decoder
What is a JWT?
A JWT (JSON Web Token) is how most modern web apps handle logins. When you sign in, the server gives your browser a compact token. Your browser sends that token back with every request, and the server uses it to verify who you are — no session database needed.
Google, Microsoft, Auth0, and pretty much every OAuth 2.0 / OpenID Connect flow issues JWTs. If you've ever seen a long string with two dots in it in a network request, that was a JWT.
This tool decodes the header and payload so you can see what's inside. It's handy for debugging auth issues, checking which claims a token carries, or confirming the right data got encoded.
JWT Structure
A JWT is three Base64URL-encoded segments joined by dots: header, payload, signature.
Header
Tells you how the token was signed. Usually contains alg(the algorithm, like HS256 or RS256) and typ (always "JWT").
Payload
This is where the actual data lives. Standard claims includeiss (who issued it), sub (the user ID),aud (intended audience), exp (expiration),nbf (not-before time), and iat (issued-at time). Apps can also add custom claims for roles, permissions, or anything else they need.
Signature
The server creates this by hashing the encoded header + payload with a secret (HMAC) or private key (RSA/ECDSA). The receiving server uses the matching key to confirm the token hasn't been tampered with. This tool doesn't verify signatures — that requires the signing key, which is different for every application.
How to Use This Tool
Paste a JWT into the input box. The header and payload decode instantly as you type, rendered as highlighted JSON. Time-based claims (iat, exp, nbf) convert to human-readable dates. If the token is expired, a red warning appears.
Copy buttons let you grab the decoded header or payload as formatted JSON. The signature segment is shown but not verified — see the FAQ for why.
This utility is provided for informational purposes only. KnowKit is not responsible for any errors in the output.