What is a JWT?
A JSON Web Token (JWT) is a compact, URL-safe way to represent claims between two parties. It consists of three Base64URL-encoded parts separated by dots: the Header (algorithm & type), the Payload (claims), and the Signature.
tool / security
Decode and inspect JSON Web Tokens instantly. View the header, payload, and claims with human-readable explanations. Expiry countdown and security warnings included. Everything runs in your browser — your token never leaves your machine.
← Back to toolsA JSON Web Token (JWT) is a compact, URL-safe way to represent claims between two parties. It consists of three Base64URL-encoded parts separated by dots: the Header (algorithm & type), the Payload (claims), and the Signature.
The JWT specification (RFC 7519) defines registered claim names such as
iss (issuer), sub (subject), aud (audience),
exp (expiration), nbf (not before), and iat
(issued at). This inspector explains each one in plain English.
alg: none — it disables signature verification.exp) to limit token lifetime.
Paste a token into the box — it parses as you type, no button needed. The
Token Timing card shows issued-at, not-before, and expiry with
a live countdown, so you can tell at a glance whether the "authentication failed"
bug you're chasing is really just an expired token (it usually is). The three
panels below show the decoded header, the payload with every claim explained in
plain English, and the raw signature. If anything looks off — alg: none,
a missing expiry, a lifetime over a year — a security warning appears above the
panels. No token handy? Load Sample fills in a realistic
(expired) example to explore.
The decoding happens entirely in your browser — nothing is sent to any server, and nothing is stored. That said, a live access token is a credential, so the sensible habit is to inspect expired tokens or ones from a dev environment when you can. Never paste a signing secret anywhere, including here.
Verification requires the secret key (for HMAC algorithms) or the issuer's key material — and a browser tool that asked you to paste your secret would be teaching you a terrible habit. This inspector decodes and explains; verification belongs on your server.
The common kind (JWS) isn't — the header and payload are just Base64URL-encoded, which is why this tool can read them without any key. That's worth internalizing: anything you put in a JWT payload is readable by anyone who holds the token. Don't put secrets in claims.
exp, iat, and nbf are Unix timestamps —
seconds since 1970. The claims table converts them to your local time next to the
raw value, so you don't have to paste numbers into an epoch converter.
// huntermussel
HunterMussel audits JWT implementations, OAuth flows, and identity systems against OWASP and LGPD/GDPR requirements — and builds secure auth architectures from scratch.
Explore Security & Compliance →Advertisement · Publicidade