WMW

JWT Decoder

Free

Decodes a JWT header and payload into readable JSON, converts timestamp claims to human-readable dates, flags expired tokens, and can verify an HS256 signature with a secret you provide.

Runs entirely in your browser. Your token is never uploaded anywhere.

Header


        

Payload


            
        

Verify HS256 signature (optional)

Only works for tokens signed with HS256. Enter the secret key used to sign this token.

Comments (0)

Found this tool useful? Leave a comment, share a tip, or tell us how we can make it better.

Guest comments are reviewed before publishing. Sign in to post instantly.

No comments yet. Be the first to share your thoughts!

What this tool does

Paste a JWT (JSON Web Token) and this tool decodes its header and payload into readable JSON, converts standard timestamp claims into human-readable dates, flags whether the token has expired, and can optionally verify an HS256 signature against a secret you provide.

How It Works

A JWT consists of three dot-separated, base64url-encoded segments: a header, a payload, and a signature. This tool splits the token on its dots, base64url-decodes the header and payload segments back into JSON text, and parses them. For signature verification, it recomputes an HMAC-SHA256 over the header and payload segments using the secret you provide, via the browser's built-in Web Crypto API, and compares the result byte-for-byte against the signature segment of the token.

Problems it solves

Frequently asked questions

›Does this tool verify my token is authentic?

Decoding alone does not verify authenticity, since the header and payload are only base64url-encoded, not encrypted, and anyone can read them without a key. To check whether a token was really signed by the expected party, use the optional signature verification field below, which only supports the HS256 algorithm.

›Why can this only verify HS256 signatures?

HS256 uses a single shared secret for both signing and verifying, so this tool can check a signature using only the secret you provide. RS256, ES256, and other asymmetric algorithms sign with a private key and verify with a different public key, which this tool does not collect, so verifying them safely is out of scope here.

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

These are standard JWT timestamp claims, all expressed as Unix time (seconds since 1970). exp is when the token expires, iat is when it was issued, and nbf ("not before") is the earliest time the token is considered valid. This tool converts each one into a readable date automatically.

›My token shows as expired, what does that mean?

It means the exp claim in the payload is a timestamp earlier than the current time, so a server correctly validating this token would reject it. This tool only checks the claim and your device clock, it does not contact any server.

›Is it safe to paste a production JWT into this tool?

The token is decoded entirely in your browser and never sent anywhere, so pasting it here is as safe as viewing it in your own browser's developer console. That said, treat any token with sensitive claims the same way you would treat a password, and avoid pasting tokens into tools you don't trust.

Related Tools