JWT Decoder Decode and inspect JSON Web Tokens online — free, fast, private.

JWT Decoder

Decode and inspect JSON Web Tokens online — free, fast, private.

Header

Payload

What is a JWT?

A JWT (JSON Web Token) is a compact, URL-safe token format used to carry claims between two parties — most often to prove that a user is logged in. A JWT is a single string made of three base64url-encoded segments joined by dots: header.payload.signature. The header states the signing algorithm (for example HS256 or RS256) and the token type; the payload holds the claims, such as sub (subject), iss (issuer) and exp (expiry time); and the signature is produced by the issuer with a secret or private key so the token cannot be tampered with.

How to use this tool

  1. Paste a JWT into the input box above — it is decoded live as you paste or type.
  2. Inspect the decoded header and payload, pretty-printed as JSON.
  3. Check the claims table: exp, iat and nbf are rendered as human-readable UTC times, and exp gets an Expired/Valid badge.
  4. Click Copy payload to copy the decoded payload JSON to your clipboard.

Why you must still verify the signature server-side

Decoding a JWT is not verifying it. Base64url is an encoding, not encryption — anyone can read, change and re-encode the payload of a token without knowing any secret. This tool deliberately does not verify the signature; it only shows you what the token says.

Common mistakes when decoding a JWT

Tip: if you do not have a token handy, click Sample token to generate one with fresh iat and exp values, so the claims table shows a Valid badge.

Frequently asked questions

What is a JWT?

A JWT (JSON Web Token) is a compact, URL-safe string with three base64url-encoded segments separated by dots: a header describing the signing algorithm, a payload containing claims such as sub, iss and exp, and a cryptographic signature. JWTs are widely used as access tokens and ID tokens in authentication systems.

Is the signature verified here?

No. This tool only decodes the token — decoding is not verifying. Reading the header and payload requires no secret, so anyone can do it, and a forged token decodes just as easily. Always verify the signature on your server with the correct secret or public key before trusting any claim.

Is my token sent to a server?

No. All decoding happens locally in your browser with JavaScript. The token never leaves your device and is never logged or stored — you can even disconnect from the internet and the tool keeps working.

What is base64url?

Base64url is the URL-safe variant of Base64 encoding: the characters + and / are replaced with - and _, and trailing = padding is omitted. That makes the encoded string safe to use in URLs and HTTP headers, which is why JWT segments use it.