Does this verify the JWT's signature?
No. It only decodes the header and payload — verifying a signature requires the issuer's secret or public key, which this tool doesn't use.
Decode a JSON Web Token's header and payload into readable JSON, right in your browser.
Paste a JWT (a string in header.payload.signature format) and this tool splits it on the periods, base64url-decodes the header and payload sections, and shows both as formatted JSON. That's the entire operation — decoding, not verifying.
This is an important distinction: anyone can decode a JWT's header and payload, since that part isn't encrypted, only encoded. Decoding here tells you what claims a token contains, but it does not confirm the token's signature is valid, that it hasn't expired, or that it was actually issued by the service it claims to be from. Verifying a JWT requires the issuer's secret or public key, which this tool doesn't have and isn't asking for.
Use this quick flow to understand where the tool fits in your work and what to review before relying on the output.
Use it to quickly inspect what claims are inside a JWT you already have — during debugging, when reading a token from a log, or when checking what a token contains before deciding how to use it in code.
Inspect a JWT's claims while debugging an authentication or authorization issue.
Check what a token actually contains before deciding how to read it in client code.
Verify a test JWT contains the expected claims before running a test case.
Decode a token from a bug report to understand what claims it carries.
Both sections of the token are base64url-decoded and shown as formatted JSON.
This tool doesn't check whether the token's signature is valid — it only reads the encoded claims.
It doesn't evaluate the exp claim against the current time — you need to read that value yourself.
A string that doesn't have the expected header.payload.signature structure produces a clear message instead of a confusing failure.
Inspecting a JWT's claims while debugging an authentication or authorization issue.
Checking what a token actually contains before deciding how to read it in client code.
Verifying a test JWT contains the expected claims before running a test case.
Decoding a token from a bug report to understand what claims it carries.
Decoding happens entirely in your browser using base64url decoding — the token is never sent to a server or verified against any external service.
Decoding reads the claims; it does not confirm the signature is valid or that the token is genuine.
This tool doesn't evaluate exp against the current time — you need to check that value yourself.
Treat real tokens with the same care as any other credential, even in a decode-only tool.
The header and payload are only encoded, not encrypted — anyone can decode them without a secret key.
JWT Decoder shows you exactly what claims a token contains, quickly and locally. It intentionally stops there — verifying a token's authenticity and expiry needs to happen in your actual authentication code, with the real secret or public key.
Use this tool for quick work. If you need a real file prepared, a page reviewed, or a website issue fixed, send the URL and describe the problem.
FAQ
Answers for using JWT Decoder on I Love Tool XYZ.
No. It only decodes the header and payload — verifying a signature requires the issuer's secret or public key, which this tool doesn't use.
No, it doesn't evaluate the exp claim against the current time — check that value yourself in the decoded output.
No, the header and payload are only encoded, not encrypted, so anyone can decode them.
No. Decoding happens entirely in your browser.