All Tools Portfolio

JWT
Decoder

Paste a JSON Web Token to instantly decode its header and payload, see every claim, and check whether it is expired, valid, or not yet active. Decoding runs entirely in your browser, so the token never leaves your device.

Start decoding a token
This tool only decodes — it does not verify the signature. A JWT is Base64URL-encoded, not encrypted, so treat tokens like passwords and avoid pasting production tokens into untrusted sites.

Encoded Token

Tip: a JWT has three dot-separated parts — header.payload.signature. Only the first two are readable JSON; the third is a cryptographic signature and cannot be decoded back into plain text.

Paste a token and click Decode, or load the sample.

About the JWT Decoder

JSON Web Tokens are widely used for authentication and authorization: a server issues a signed token, and the client sends it back with each request. This tool decodes the header and payload of any JWT so you can inspect its claims, check expiry, and debug authentication issues, all without sending the token anywhere. It does not check the signature, since that requires the original signing key.

Features

Header & payload decoding

Instantly decode both segments into readable, syntax-highlighted JSON.

Expiry status at a glance

See whether a token is valid, expired, or not yet active based on its exp and nbf claims.

Readable claims table

Standard claims like iss, sub, aud, iat, exp, and nbf are converted into a plain-language table.

100% client-side

Decoding happens locally in your browser. The token you paste is never uploaded or logged.

Copy or download

Copy the header or payload individually, or download both as a single decoded JSON file.

Clear security guidance

Built-in reminders that JWTs are encoded, not encrypted, and that this tool does not verify signatures.

How It Works

  1. Paste a JWT into the input box, or click "Load sample" to try a well-known example token.
  2. Click Decode to split the token into its header, payload, and signature.
  3. Review the algorithm, token type, and expiry status at the top of the results.
  4. Check the claims table and the full decoded JSON for both the header and payload.
  5. Copy either section, or download the combined decoded JSON.

Example Usage

Input Decoded result
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.abc123 Header: {"alg":"HS256"}, Payload: {"sub":"1234"}
A token with "exp": 1700000000 Claims table shows the expiry as a readable date, plus a Valid or Expired status.
A token with only two segments (missing signature) An error explaining that a JWT needs exactly three dot-separated segments.

Where This Helps

Frequently Asked Questions

What is a JWT and what does this decoder show?

A JWT (JSON Web Token) is a compact, URL-safe token made of a header, a payload, and a signature, separated by dots. This tool decodes the header and payload back into readable JSON and shows the raw signature.

Does this tool verify the JWT signature?

No. This tool only decodes the header and payload for inspection. It does not verify the signature, since that requires the secret key or public key used to sign the token.

Is my token uploaded or stored anywhere?

No. Decoding happens entirely in client-side JavaScript in your browser. The token you paste is never sent to a server or logged.

Is a JWT encrypted?

No. A standard JWT is Base64URL-encoded, not encrypted, so anyone who has the token can read its header and payload. Never store secrets or sensitive personal data directly inside a JWT payload.

What do the exp, iat, and nbf claims mean?

exp is the expiration time, iat is when the token was issued, and nbf is the earliest time the token becomes valid. This tool converts each of these Unix timestamps into a readable date and shows whether the token is currently valid, expired, or not yet valid.

Why should I be careful about sharing a JWT?

A JWT often represents an active login session. Anyone who obtains a valid, unexpired token can potentially use it to impersonate the user it belongs to, so treat tokens like passwords and avoid pasting production tokens into untrusted tools.

Why do I get an error when decoding my token?

A JWT must have exactly three dot-separated Base64URL segments. An error usually means the token was truncated, has extra whitespace, or is missing a segment when it was copied.

Related Tools