JWT Decoder & Inspector
Decode and inspect JSON Web Tokens instantly — free and private
Invalid JWT
Signature verification requires the secret key or public key and is not performed by this client-side tool.
Quick Reference
- JWT has 3 parts separated by dots
- Header specifies algorithm & token type
- Payload contains claims (user data)
- Signature ensures token integrity
Registered Claims
-
issIssuer of the token -
subSubject (user identifier) -
audAudience (intended recipient) -
expExpiration time -
iatIssued at time -
nbfNot valid before time -
jtiUnique token identifier
100% Private
All decoding happens locally in your browser. No token data is ever sent to any server.
What Is a JSON Web Token?
Understanding the compact, self-contained token format used for secure authentication and data exchange
JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact, URL-safe way to transmit information between parties as a JSON object. The token is digitally signed using a secret (HMAC) or a public/private key pair (RSA, ECDSA), which ensures the claims cannot be altered after the token is issued.
JWTs are widely used in modern web applications for stateless authentication, single sign-on (SSO), and API authorization. Because the token is self-contained — carrying all the information needed to verify the user — servers do not need to query a database or session store on every request.
Header
The header typically contains two fields: alg (the signing algorithm, e.g. HS256 or RS256) and typ (the token type, usually "JWT"). It is Base64url-encoded to form the first part of the token.
Payload
The payload contains claims — statements about the user and additional metadata. Claims can be registered (iss, sub, exp), public, or private. The payload is Base64url-encoded but not encrypted, so sensitive data should not be stored here.
Signature
The signature is created by signing the encoded header and payload with a secret key or private key. It ensures the token has not been tampered with. The recipient verifies the signature using the same secret or the corresponding public key.
JWT Structure Explained
A detailed breakdown of each component in a JSON Web Token
Token format: A JWT consists of three Base64url-encoded strings separated by dots (.)
| Part | Purpose | Encoding |
|---|---|---|
| Header | Declares the token type and signing algorithm | Base64url(JSON) |
| Payload | Contains claims (user data, permissions, timestamps) | Base64url(JSON) |
| Signature | Ensures integrity and authenticity of the token | Base64url(HMAC/RSA(header.payload, secret)) |
Important: Base64url encoding is not encryption. Anyone can decode the header and payload. Never store sensitive information (passwords, credit card numbers) in a JWT payload. The signature only guarantees the data has not been tampered with — it does not hide the data.
Frequently Asked Questions
Common questions about JSON Web Tokens and this decoder tool
exp (expiration time) claim. The exp claim is a Unix timestamp (seconds since January 1, 1970). Expired tokens should be rejected by servers and should not be used for authentication or authorization. This tool flags expired tokens with a visual warning.+ and /, which have special meaning in URLs and file paths. Base64url replaces + with - and / with _, and removes padding = characters. JWTs use Base64url encoding so that tokens can be safely transmitted in URLs, HTTP headers, and query parameters without additional encoding.