Decode JSON Web Tokens instantly. View header, payload, and claims without signature verification.

Security Notice: This tool decodes the token locally in your browser; it does NOT verify the signature. Never paste production secrets, private tokens, or tokens you don’t control.
0 characters

Paste a JWT token above to decode its header and payload

🔓 JWT Decoder — Free Online Tool

Decode and inspect JSON Web Tokens online, free. A JSON Web Token (JWT, RFC 7519) is a compact, URL-safe credential made of three Base64URL-encoded parts separated by dots: a header, a payload of claims, and a signature. This decoder splits the token and decodes the header and payload so you can read the signing algorithm, the claims, and human-readable timestamps — entirely in your browser, so the token never leaves your device.

🚀 Why use this JWT Decoder tool?

Decoding happens 100% client-side — your token is never uploaded, logged, or stored, which matters because a JWT often grants real access. 100% free, no registration, and complete privacy — everything runs locally in your browser, so your data never touches a server.

Key Features

🧩Header, payload & signature

Splits the token on its dots and Base64URL-decodes the header and payload, showing the algorithm (alg), type, and every claim.

🕒Readable timestamps

Standard time claims like exp, iat and nbf are shown as human-readable dates so you can immediately see when a token was issued or expires.

🏷️Standard claim aware

Recognizes registered claims (iss, sub, aud, exp, iat, nbf, jti) so the payload is easy to scan.

🔒100% private

Decoding runs locally in your browser — your JWT is never sent to a server, so it's safe to inspect production tokens.

Popular Use Cases

Auth debugging

  • See why a token is rejected
  • Check exp / nbf timing
  • Confirm the right claims are present

API development

  • Inspect access & ID tokens
  • Verify scopes/roles in the payload
  • Compare tokens across environments

Learning & review

  • Understand JWT structure
  • See how claims are encoded
  • Teach Base64URL vs encryption

What It Handles

Decodes

  • Header (alg, typ)
  • Payload claims
  • Base64URL segments

Shows

  • Human-readable exp/iat/nbf
  • Registered + custom claims
  • Raw decoded JSON

Privacy

  • Client-side only
  • No network calls
  • Safe for real tokens

Sources & References

Frequently Asked Questions

What is a JWT?

A JSON Web Token (RFC 7519) is a string with three Base64URL parts — header.payload.signature. The header names the algorithm, the payload carries claims (like user id, scopes and expiry), and the signature lets the issuer prove the token wasn't tampered with.

Does this tool verify the signature?

This is a decoder: it reveals the header and payload so you can read the claims, but decoding alone does not prove the signature is valid. To trust a token in production you must verify its signature against the issuer's key on your server.

Is it safe to paste my token here?

Yes. Decoding happens entirely in your browser and the token is never uploaded, logged, or stored. Still, treat live tokens as secrets and avoid pasting them into tools whose privacy you can't confirm.

Can anyone read the contents of a JWT?

Yes. A standard JWT is signed, not encrypted — the payload is only Base64URL-encoded, so anyone with the token can decode and read it. Never put secrets or sensitive personal data in a JWT payload.

What do iat, exp and nbf mean?

They are time claims, expressed as Unix timestamps: iat = issued-at, exp = expiry (the token is invalid after this), and nbf = not-before (invalid until this time). This decoder shows them as readable dates.

Why is my token 'expired'?

The current time is past the exp claim. Tokens are short-lived by design; obtain a fresh one from your auth server or use a refresh token. Check the decoded exp date here to confirm.

🎓 Pro Tips

  • Tip 1: A JWT payload is encoded, not encrypted — never store passwords, secrets, or sensitive PII in it.
  • Tip 2: Always verify the signature server-side before trusting a token; a decoder like this is for inspection, not authentication.
  • Tip 3: If a token is rejected, decode it and check exp/nbf first — clock skew and expiry are the most common causes.