Paste a JSON Web Token (JWT) to decode the header and payload. Decoding is done locally in your browser.

You can paste header.payload.signature OR just header.payload (no signature). Token is parsed client-side only.
Header
{"alg":"...","typ":"JWT"}
Payload

                        
Signature

Signature is shown but cannot be verified without your key/public certificate.

{ "signature": "..." }

Tip: Use toLocaleString() timestamps or your own tools to verify exp / nbf.

Frequently Asked Questions

What is a JWT?
JWT (JSON Web Token) is a compact and secure way to transmit information between two parties as a JSON object. It is commonly used for authentication and data exchange in web applications.

What does this JWT Decoder tool do?
This tool decodes your JWT token into its three parts: Header, Payload, and Signature. It shows the decoded JSON values in a human-readable format without requiring your secret key.

Is my JWT safe here?
Yes ✅. All decoding happens locally in your browser. Your token is never sent to our server, ensuring complete privacy and security.

What can I learn from decoding a JWT?

  • Header: Algorithm and token type used for signing.
  • Payload: Claims like user ID, issuer, expiration, roles, etc.
  • Signature: Verifies the token hasn’t been tampered with (not decoded here without a secret key).

Can this tool verify my JWT?
No ❌. This tool only decodes the token. To verify the signature, you need the secret key or public certificate depending on the signing algorithm (HS256, RS256, etc.).

Why is JWT decoding useful?
Developers and security testers use decoding to debug authentication issues, inspect token claims, and check token validity (e.g., expiration or issuer details).

Does this support all JWT algorithms?
Yes, the decoder supports all JWTs regardless of signing algorithm (HS256, RS256, ES256, etc.), but it only parses the token and does not attempt to validate the cryptographic signature.