A sleeping cat.

JWT Decoder

Decode and inspect JSON Web Tokens to view headers, claims, expiration timestamps, and other token payload information directly in your browser.

JWT Token

Paste a JWT and decode its header, payload, and signature.

0 chars
Ctrl/Cmd + Enter to decodeJWT decoding happens locally in your browser.
♥

ToolTunnel is free and ad-free

Your support helps us build more tools and improve the ones you already use.

♥Support

Related Tools

More tools you may find useful.

About this tool

JWT Decoder is a browser-based tool for inspecting JSON Web Tokens. It decodes the Base64URL-encoded header and payload, displays the signature, identifies common claims, and converts JWT timestamps into readable dates. Decoding is performed locally in your browser and does not verify the token signature.

What is a JSON Web Token?

JSON Web Token (JWT) is a compact token format commonly used to transmit claims between applications and services. JWTs are frequently used in authentication and authorization systems, particularly for APIs and distributed applications.

A typical JWT contains three dot-separated components: a header, a payload, and a signature. The header describes the token type and signing algorithm, the payload contains claims, and the signature is used by a verifier to establish that the signed token has not been altered.

What does this JWT Decoder do?

The decoder separates a JWT into its header, payload, and signature components and makes the readable portions easier to inspect.

It also identifies commonly used claims such as subject, issuer, audience, issued-at time, not-before time, and expiration time. Numeric JWT timestamps are converted into readable dates and relative time information.

  • Decode JWT header information
  • Inspect JWT payload claims
  • View the encoded signature
  • Identify the signing algorithm and token type
  • Convert common Unix timestamps
  • Check whether an expiration claim has passed
  • Copy individual sections or the complete analysis

Common JWT use cases

  • Inspecting access tokens during API development
  • Debugging authentication and authorization flows
  • Understanding claims returned by an identity provider
  • Checking token expiration during troubleshooting
  • Inspecting JWT structure before implementing token handling
  • Investigating unexpected authentication behavior

Important JWT security details

JWT decoding and JWT verification are different operations. A JWT can be decoded without possessing the secret or private key used to sign it.

The header and payload should therefore be considered untrusted data until the token has been properly verified. Seeing a valid-looking claim or expiration date does not prove that the token was issued by a trusted party.

Never place passwords, private keys, client secrets, or other confidential information into JWT claims unless you fully understand the security implications. JWT payloads are encoded, not encrypted.

Base64URL encoding

The header and payload of a JWT are Base64URL-encoded JSON objects. Base64URL encoding makes the data suitable for transmission in URLs and HTTP contexts, but it does not provide confidentiality.

Anyone who has access to a JWT can generally decode its header and payload. The signature provides integrity and authentication when it is verified with the appropriate cryptographic key.

Local processing and privacy

ToolTunnel's JWT Decoder performs decoding in your browser. The token does not need to be uploaded to a ToolTunnel backend for the decoding operation.

Even though processing is local, you should still avoid pasting sensitive production credentials or tokens into tools unless you understand the environment and your organization's security requirements.

Limitations

This tool decodes JWT structure but does not cryptographically verify signatures. It also does not determine whether a token was legitimately issued by an identity provider.

JWT implementations can use different claim sets and application-specific fields. A missing standard claim is not necessarily an error because applications may define their own token structure.

Frequently Asked Questions

▶Can a JWT be decoded without the secret key?

Yes. The header and payload of a JWT can normally be decoded without the signing secret or private key because they are encoded rather than encrypted.

▶Does decoding a JWT verify its signature?

No. Decoding only makes the token contents readable. Signature verification requires the appropriate cryptographic key and verification algorithm.

▶Is a JWT encrypted?

A standard signed JWT is not encrypted. Its header and payload are Base64URL-encoded and can be decoded by anyone who has the token. Encrypted JWTs use a different mechanism such as JWE.

▶What does the exp claim mean?

The exp claim specifies the expiration time of a JWT as a NumericDate, normally represented as seconds since the Unix epoch.

▶What does the iss claim mean?

The iss claim identifies the issuer of the JWT. Applications can use it during verification to determine whether a token came from an expected authority.

▶What does the aud claim mean?

The aud claim identifies the intended audience of the token. It can be a string or an array of strings depending on how the JWT was created.

▶Is it safe to paste a JWT into this tool?

The decoder processes the token locally in your browser, but you should still avoid sharing sensitive production credentials or tokens unnecessarily. Follow your organization's security policies when handling authentication tokens.

▶Can this tool validate a JWT?

It can inspect the structure and claims of a JWT, but it does not cryptographically verify the signature. Proper validation must be performed by the application using the appropriate signing key and expected token parameters.