JWT Decoder & Inspector
Decode JSON Web Tokens instantly. Decodes client-side only, your secret tokens never touch any server.
Understanding JSON Web Tokens (JWT)
JSON Web Tokens (RFC 7519) are a compact, URL-safe means of transmitting claims between two parties. The claims in a JWT are encoded as a JSON object that is digitally signed using JSON Web Signature (JWS).
🔴 Header
Contains metadata about the token, including the signing algorithm (e.g. HS256, RS256, ES256) and the token type (JWT).
🟣 Payload
Contains the claims. Includes registered standard claims (exp, sub, iat, iss) as well as custom user and role authorization data.
🔵 Signature
Calculated by hashing the Base64URL-encoded header and payload with a secret or private key, guaranteeing data integrity.
Common Registered Claims Reference
| Claim | Full Name | Description | Example Value |
|---|---|---|---|
iss | Issuer | Identifies the principal that issued the JWT | "https://auth.example.com" |
sub | Subject | Identifies the user or resource the token represents | "user_98317a6c" |
aud | Audience | Identifies the recipients that the JWT is intended for | "https://api.example.com" |
exp | Expiration Time | Unix epoch timestamp after which the token must be rejected | 1735689600 |
nbf | Not Before | Unix epoch timestamp before which the token is not valid | 1704067200 |
iat | Issued At | Unix epoch timestamp indicating when the token was signed | 1704067200 |
Critical Security Considerations
- JWTs are NOT Encrypted: A signed JWT (JWS) provides integrity, NOT confidentiality. Any client or network observer can decode the Base64 payload. Never store passwords, private keys, or raw personal data in claims.
- Beware of the
alg: noneAttack: Vulnerable verification libraries once allowed attackers to change the header to{ "alg": "none" }and submit unsigned tokens with forged claims. Modern servers must explicitly enforce expected signing algorithms. - Always Verify Expiration: Servers and gateways must check that current time is before expiration (
t < exp) with a tight clock-skew tolerance (typically 30-60 seconds).
Frequently Asked Questions
Is it safe to paste confidential production JWT tokens here?
What is the structural format of a JSON Web Token?
Can anyone view the contents of an unencrypted JWT?
What do the registered claims exp, iat, and nbf mean?
How do I verify the HMAC signature of my JWT?
About This Tool
JWT Decoder splits a token into its header and payload, Base64URL-decodes both, and shows them as one
formatted JSON object alongside the algorithm and expiration status, all with
JSON.parse in the browser, nothing sent over the network.
This only decodes; it doesn't check the signature. To verify an HMAC-signed token, or to sign a new one, use JWT Signer & Verifier instead.
Key Features
- Algorithm & expiry at a glance: a single status line shows the signing algorithm plus issued/expiry times and ACTIVE/EXPIRED state.
- Combined header + payload view: both decode into one formatted JSON object instead of two separate panels.
- Clear structural error reporting: malformed or incomplete tokens surface a specific error instead of failing silently.
- Copy or download: export the decoded payload as JSON in one click.
- Sample token: one click loads a working JWT to try the decoder on.
- Keyboard-driven: Cmd/Ctrl+Enter decodes without leaving the keyboard.