Jwt Decoder
Decode JSON Web Tokens to reveal their header and payload for debugging. No signup. Decoding is not verifying, and never paste real production tokens into any tool.
Result
| Header | ||
|---|---|---|
| Payload |
Note: this decodes the token only. It does not verify the signature, which requires the secret key.
Share on Social Media:
This JWT decoder decodes JSON Web Tokens to reveal their header and payload, directly in your browser, for debugging and understanding tokens. Paste a token to see its decoded contents. No account, no install. Note that decoding is not verifying a token's signature, and you should never paste real production or sensitive tokens into any online tool.
How to Decode a JWT Step by Step
- Paste the token. Paste the JSON Web Token you want to inspect into the input. Use test or example tokens for this, never real production or sensitive tokens.
- The token is split. The tool splits the token into its parts, the header, the payload and the signature, which are separated within the token's structure.
- View the decoded header. The header is decoded and shown, revealing information about the token, such as the type and the algorithm indicated for its signature.
- View the decoded payload. The payload is decoded and shown, revealing the claims, the data the token carries, such as identifiers and other information encoded within it.
- Use it for debugging. Inspect the decoded contents to understand or debug the token, seeing what data it contains, while remembering decoding does not verify it.

What a JWT Is and How It Is Structured
A JSON Web Token, or JWT, is a compact, self contained way of representing information to be transferred between parties, widely used in web authentication and authorisation. A JWT carries a set of claims, pieces of data, in a structured form, and is commonly used to represent that a user is authenticated, passing this securely between a server and a client. Understanding what a token contains is often necessary when developing and debugging such systems.
A JWT has three parts, separated within the token: the header, the payload and the signature. The header describes the token, including the algorithm used for its signature. The payload contains the claims, the actual data the token carries, such as user identifiers and other information. The signature is used to verify that the token has not been tampered with and comes from a trusted source. These three parts together make up the token.
A crucial point is that the header and payload of a JWT are encoded, not encrypted. This means anyone can decode and read them, since the encoding is a reversible, standard format, not a secret one. A JWT decoder simply reverses this encoding to show the header and payload contents. This is why a JWT should never carry secret information in its payload, and why decoding a token reveals its data to anyone who has it.
The most important distinction is between decoding and verifying a token. Decoding reveals the header and payload contents, which anyone can do, but it says nothing about whether the token is genuine and untampered. Verifying involves checking the signature, which requires the secret or key and confirms the token's authenticity and integrity. A decoder only decodes; it does not and cannot verify. So decoded contents show what a token claims, not that those claims are trustworthy.
Decoding Versus Verifying a Token
| Aspect | Decoding | Verifying |
|---|---|---|
| Reveals | Header and payload contents | Whether the token is genuine |
| Needs | Just the token | The secret or key |
| Anyone can | Yes, contents are encoded not encrypted | No, needs the key |
| This tool does | Decoding only | Not verification |
Who Uses a JWT Decoder

Pro Tips for Working With JWTs Safely
Common JWT Mistakes to Avoid
Related Tools You May Need Next
For working with the JSON in a token payload, our JSON tools help format and inspect it. To decode other encodings, the Base64 tools and related decoders are available for different formats.

Frequently Asked Questions
How do I decode a JWT?
Paste the JSON Web Token, using a test or example token rather than a real one, into the input, and the tool splits it into its three parts and decodes the header and payload, showing their contents. The header reveals information like the algorithm, and the payload reveals the claims, the data the token carries. This lets you inspect what a token contains for debugging or learning. Remember that decoding only reveals the contents; it does not verify that the token is genuine, which requires checking the signature.
What is a JWT?
A JSON Web Token, or JWT, is a compact, self contained way of representing information to be transferred between parties, widely used in web authentication and authorisation. It carries a set of claims, pieces of data, in a structured form, and is commonly used to represent that a user is authenticated, passing this between a server and client. A JWT has three parts: the header, describing the token; the payload, carrying the claims; and the signature, used to verify the token's authenticity and integrity.
What is the difference between decoding and verifying a JWT?
Decoding reveals a token's header and payload contents, which anyone can do since these parts are encoded, not encrypted. It shows what the token claims but says nothing about whether the token is genuine. Verifying involves checking the token's signature, which requires the secret or key, and confirms the token's authenticity and integrity, that it has not been tampered with and comes from a trusted source. A decoder only decodes; it does not verify. So decoded contents show what a token claims, not that those claims are trustworthy.
Is a JWT payload encrypted?
No, and this is crucial to understand. The header and payload of a JWT are encoded, not encrypted, using a standard, reversible format. This means anyone who has the token can decode and read the header and payload contents; they are not secret. This is why a JWT should never carry secret or sensitive information in its payload, since it is readable by anyone with the token. The signature provides integrity, allowing verification that the token is untampered, but it does not make the payload contents secret or hidden.
Is it safe to paste a token into a JWT decoder?
You should never paste real production or sensitive tokens into any online tool. Because a JWT's payload is encoded, not encrypted, its contents are readable once decoded, and exposing a real token could compromise the data it carries or the token itself. For decoding and learning, use only test or example tokens, never real ones. Real tokens should be handled securely and kept private, since they can grant access if obtained by others. This decoder is intended for test and example tokens for debugging and understanding.
Why should I never put secrets in a JWT payload?
Because the payload is encoded, not encrypted, so anyone who has the token can decode and read its contents. If you place secret or sensitive information in the payload, thinking it is hidden, that information is actually readable by anyone who obtains the token. Only non secret claims, the kind of data that is acceptable for anyone with the token to see, belong in a JWT payload. Secrets must be kept elsewhere, secured properly, never encoded into a token payload where they are exposed to anyone holding the token.
Can a JWT decoder tell me if a token is valid?
No, a decoder cannot tell you whether a token is valid or genuine. It only decodes and displays the header and payload contents, which anyone can do regardless of whether the token is authentic. Determining validity requires verifying the signature, which needs the secret or key and confirms the token is untampered and from a trusted source. This verification must happen securely in your code, not in a decoder. So a successfully decoded token is not a verified token; decoding and verifying are entirely different things.
Is the JWT decoder free?
Yes, it is completely free with no account and no usage limit. You can decode as many test or example JSON Web Tokens as you like, as often as you like, at no cost. It runs in your browser on any device, so there is nothing to download or install, and the decoded header and payload appear instantly whenever you paste a token. Remember to use only test or example tokens, never real production or sensitive ones, since a token's payload is readable once decoded.