Tools

JWT Decoder

Paste a JWT

About JWT Decoder

Paste any JSON Web Token and its header and payload are decoded and pretty-printed instantly, with the token's three parts color-coded the way jwt.io does. Expiry (exp), issued-at (iat) and not-before (nbf) claims are converted to readable dates with a relative-time flag, so you can see at a glance whether a token is expired. This tool only decodes — it does not verify the signature, and never sends the token anywhere.

Frequently asked questions

Does this verify the signature?

No — it only decodes the header and payload, which is all base64url-encoded and readable by anyone without a key. Verifying a signature needs the secret or public key it was signed with, which this tool never asks for.

Is my token sent anywhere?

No. Decoding happens entirely in your browser with nothing more than atob() and JSON.parse() — no network request is ever made.

How is expiry determined?

From the standard exp claim (a Unix timestamp in seconds). If it's in the past, the token is flagged expired; if the nbf claim is in the future, it's flagged not valid yet. Tokens without an exp claim are flagged as having no expiry.

What if the token is malformed?

A JWT is three base64url segments separated by dots. If yours doesn't split into exactly three parts, or a part isn't valid base64url JSON, an error explains exactly what failed.

Feedback Support