JWT Decoder and Token Inspector

Decode a JSON Web Token in your browser. See the header, payload, and signature,...

SecureFastFree

Updated

Decoded entirely in your browser with JavaScript. Nothing you paste is uploaded, logged, or sent to any server.

Quick answer

To decode a JWT, paste the token into the box and its three Base64URL parts (header, payload, and signature) decode at once. The header and payload are just Base64URL-encoded JSON, so they can be read without any key, and this tool does it entirely in your browser: nothing you paste is uploaded. It shows each standard claim with a plain-English label, converts the exp, iat, and nbf timestamps into readable dates and relative phrases like expired 3 hours ago, and flags a token that is past its expiry. You can also paste an HMAC secret to verify an HS256, HS384, or HS512 signature locally with the Web Crypto API.

SSL Secured
256-bit Encryption
Cloud Processing
Mobile Friendly

Decoder Features

Colour-Coded Structure - Header, payload, and signature shown in red, purple, and cyan
Absolute and Relative Time - exp, iat, and nbf as real dates plus phrases like in 2 days
Expiry Flags - Clear expired, expiring soon, and not-yet-valid badges
HMAC Verify - Optional HS256, HS384, HS512 check with the Web Crypto API
Claim Labels - Every standard claim explained inline, no RFC needed
One-Click Copy - Copy the header, payload, or whole token instantly

Why Use JWT Decoder and Token Inspector?

Live Three-Part Decode

Paste a token and the header, payload, and signature split apart instantly, colour-coded, with the JSON pretty-printed so it is easy to scan.

Readable Dates and Expiry

The exp, iat, and nbf claims are shown as absolute dates and in plain words like expires in 2 days or expired 3 hours ago, with a clear expired flag.

Nothing Leaves Your Browser

Every token is decoded on your device with JavaScript. It is never uploaded, logged, or stored, which is why this is safe for production tokens.

Optional HS256 Verify

Paste an HMAC secret and the tool checks the signature locally with the Web Crypto API, showing a clear valid or invalid result. Your secret stays on the page.

Standard Claims Explained

Each registered claim (iss, sub, aud, exp, iat, nbf, jti) is labelled with what it means, so you do not have to keep the RFC open in another tab.

Friendly, Specific Errors

A truncated token, a missing part, or malformed Base64URL gets a clear message that names the problem instead of a blank screen or a crash.

Common Uses for the JWT Decoder

Debug Auth Failures

Inspect a token from an API response to see why a request returns 401, starting with the exp claim.

Security Review

Check the algorithm, audience, issuer, and expiry of a token against what your service expects.

Build and Test APIs

Confirm the payload your backend issues contains the right roles, scopes, and subject during development.

Learn How JWTs Work

See a real token pulled apart into header, payload, and signature to understand the format quickly.

How It Works

1

Paste your JWT

Copy the token from a cookie, an API response, or an Authorization header (a leading Bearer is stripped for you) and paste it into the box.

2

Read the header, payload, and claims

See the decoded header and payload as formatted JSON, with every standard claim labelled and each timestamp shown as a real date.

3

Check expiry, then copy or verify

An expired token is flagged at the top. Copy the header, payload, or whole token with one click, or paste an HS256 secret to verify the signature.

Tips and Security Notes

A JWT Is Not Encrypted

The payload is only Base64URL-encoded, so anyone can read it. Never put a password, an API key, or other secrets in JWT claims.

Check exp First

When an authenticated request suddenly fails, decode the token and read the exp claim before anything else. An expired token is the usual cause of a 401.

Decoding Is Not Verifying

Reading a payload proves nothing about who signed it. Verify the signature against the key before you trust any claim, especially in production.

Frequently Asked Questions

Paste the token into the box on this page and the three parts decode at once. A JWT is three Base64URL segments joined by dots: header, payload, and signature. The header and payload are just Base64URL-encoded JSON, so they can be read without any key, which is exactly what this tool does. The signature is shown as-is and is only meaningful when checked against the signing key.
Yes. Decoding the header and payload never needs a key because they are only Base64URL-encoded, not encrypted. You only need a key to verify the signature, which proves the token was not altered. This decoder shows the full header and payload of any JWT and can optionally verify HS256, HS384, and HS512 signatures if you paste the shared secret.
Yes, because nothing is sent anywhere. All decoding and HMAC verification run in your browser with JavaScript and the Web Crypto API. Your token and any secret you paste never leave the page, are never uploaded, and are gone when you close the tab. That makes it safe to inspect real production tokens, unlike tools that decode server-side.
They are time claims measured in seconds since 1 January 1970. exp is the expiration time, after which the token must be rejected. iat is when the token was issued. nbf is a not-before time, before which the token is not yet valid. This decoder converts each one to a readable local date and a relative phrase such as expired 3 hours ago, and flags a token that is past its exp.
Paste the token and look at the status badge above the decoded parts. If the exp claim is in the past, the token is marked expired with how long ago it lapsed. If exp is within the next five minutes it is marked expiring soon, and a token with a future nbf is marked not valid yet. Expired tokens are the most common cause of a sudden 401 error.
You can verify HMAC signatures (HS256, HS384, HS512) by pasting the shared secret; the tool recomputes the signature locally with the Web Crypto API and tells you whether it matches. Asymmetric algorithms such as RS256 and ES256 need the issuer public key to verify and are not checked here, so those are decoded and clearly labelled rather than given a false result.

Related Tools