JWT Decode Online — Free Token Decoder

Decode and verify JWT tokens instantly in your browser. No signup, 100% private.

Verify Signature (Optional)

All decoding and verification happens in your browser. Tokens and keys are never sent to any server.

Signature Status

— Not verified

Paste a JWT token to decode

What is a JSON Web Token (JWT)?

A JSON Web Token (JWT) is an open standard defined in RFC 7519 for securely transmitting information between parties as a compact, URL-safe JSON object. JWTs are digitally signed, which means the information they carry can be verified and trusted.

Every JWT has three parts separated by dots: a Header (metadata about the token and signing algorithm), a Payload (the claims or data being transmitted), and a Signature (which proves the token hasn't been tampered with). Each part is Base64URL-encoded, making the token safe for use in URLs, HTTP headers, and cookies.

Important: JWTs are encoded, not encrypted. Anyone with access to a JWT can read its contents. The signature only guarantees integrity — it does not provide confidentiality. Never put passwords or sensitive secrets in a JWT payload.

How to Use This Tool

  1. Paste your token into the input field on the left. It should look like three Base64 strings separated by dots.
  2. Inspect the decoded output on the right — the header and payload are parsed and displayed as formatted JSON automatically.
  3. Verify the signature (optional) by selecting the algorithm and entering your secret key (for HMAC) or public key in PEM/JWK format (for RSA or ECDSA).

Everything runs in your browser via the Web Crypto API. No tokens or keys are ever sent to a server.

Supported Signing Algorithms

This decoder supports signature verification for all nine standard JWT algorithms:

HMAC (Symmetric)

Shared secret for signing and verification

  • HS256 — SHA-256
  • HS384 — SHA-384
  • HS512 — SHA-512

RSA (Asymmetric)

Private key signs, public key verifies

  • RS256 — SHA-256
  • RS384 — SHA-384
  • RS512 — SHA-512

ECDSA (Asymmetric)

Elliptic curve, smaller keys

  • ES256 — P-256 curve
  • ES384 — P-384 curve
  • ES512 — P-521 curve

Not sure which algorithm to use? Read our algorithm comparison guide for a detailed breakdown of when to use each one.

Common JWT Claims

The JWT payload contains claims — key-value pairs that carry information about the user or session. The RFC 7519 specification defines seven registered claims:

ClaimNameDescription
issIssuerWho created and signed the token
subSubjectThe entity the token describes (usually a user ID)
audAudienceWho the token is intended for
expExpirationUnix timestamp after which the token is invalid
nbfNot BeforeUnix timestamp before which the token is invalid
iatIssued AtWhen the token was created
jtiJWT IDUnique identifier to prevent token replay

For a deeper exploration of claims, including public and private claims, see our JWT claims reference.

Frequently Asked Questions

Is it safe to decode JWT tokens online?

Yes. All decoding and signature verification happens directly in your browser using JavaScript and the Web Crypto API. Your tokens and keys are never sent to any server or stored anywhere. You can even use this tool offline after the page has loaded.

How do I verify a JWT signature?

After pasting your token, select the signing algorithm from the dropdown. For HMAC algorithms (HS256, HS384, HS512), enter the shared secret. For RSA and ECDSA, paste the public key in PEM or JWK format. The signature status updates automatically.

What is the difference between the header and payload?

The header contains metadata — the token type (typ) and the signing algorithm (alg). The payload contains the claims: the actual data being transmitted, like user ID, roles, and expiration time. Both are Base64URL-encoded and readable by anyone with the token. See our claims reference for details.

My signature shows as invalid — what went wrong?

The most common causes are a wrong key, an algorithm mismatch between the token and your configuration, or key format issues (e.g., missing PEM headers). Decode the token first to check the alg value, then verify you're using the correct key. See our troubleshooting guide for step-by-step diagnosis.