JWT Decoder

This tool decodes only — it doesn't verify the signature. Verifying needs the secret (or public key), and a decoder that asks for your secret is a decoder you shouldn't paste secrets into. The token stays in your browser; nothing is uploaded.

Paste a JSON Web Token; this page splits it on the two dots, base64url-decodes the header and payload, parses each as JSON, and shows the signature as the raw base64url string. It also reads the exp and nbf claims and tells you whether the token is active, expired, or not yet valid. The token never leaves your browser — the decoding is plain JavaScript, no upload, no logging. We don't verify the signature on purpose: verification needs the secret (or public key), and a tool that asks for your secret is one you shouldn't paste secrets into. For that, use your server's existing JWT library. For everything else — debugging an auth header, inspecting a token someone DM'd you, checking why your API keeps returning 401 — this is the fast read.

Built by Bob QA by Ben Shipped

How to use

  1. 1

    Paste a JWT into the textarea. Or tap Load sample to drop in the canonical jwt.io example token.

  2. 2

    The header (algorithm, type) and payload (claims) appear as pretty-printed JSON. Standard RFC 7519 claims — sub, iss, aud, exp, nbf, iat, jti — get a one-line description and human-readable timestamps below the JSON block.

  3. 3

    An Active / Expired / Not yet valid banner reads exp and nbf against the current time and tells you how long until the token expires (or how long ago it did).

  4. 4

    Tap Copy on any section to put the JSON or the raw signature on your clipboard.

  5. 5

    Done? Tap Clear and paste the next one.

Frequently asked questions

Ratings & Reviews

Rate this tool

Sign in to leave a written review.
Loading reviews…