JWT Decoder

Decode and inspect JSON Web Tokens

JWT Token

JWT Structure

Header

Algorithm and token type

Payload

Claims and data

Signature

Verification signature

Header

Header will appear here after decoding

Payload

Payload will appear here after decoding

Signature

Signature will appear here after decoding

Common Claims

iss - Issuer of the token
sub - Subject (user identifier)
aud - Audience (intended recipient)
exp - Expiration time (Unix timestamp)
iat - Issued at time (Unix timestamp)
nbf - Not before time (Unix timestamp)

Security Note

This tool only decodes JWT tokens. It does not verify signatures.

JWTs are base64-encoded and can be decoded by anyone. Never store sensitive information in the payload.

Always verify JWT signatures on the server-side before trusting the token contents.

How It Works

JWT (JSON Web Token) is a compact, URL-safe means of representing claims between two parties. A JWT consists of three Base64URL-encoded parts separated by dots: Header.Payload.Signature. Our decoder splits the token on dots, then Base64URL-decodes each part. The header typically contains token type ("JWT") and signing algorithm (HS256, RS256). The payload contains claims - statements about an entity (user) and additional metadata like expiration (exp), issued-at (iat), and issuer (iss). The signature is created by taking the encoded header, encoded payload, a secret key, and signing them using the algorithm specified in the header - this ensures token integrity. JWT decoding simply reverses the Base64URL encoding to reveal the JSON content of header and payload. Important: decoding doesn't validate the signature or verify token authenticity - it merely reads the contents. Anyone can decode a JWT since it's just Base64-encoded JSON. Security comes from signature verification, which requires the secret key (symmetric algorithms) or public key (asymmetric algorithms). Decoders parse the decoded JSON, display claims with user-friendly formatting, highlight important fields (exp, iat, sub), and warn about security issues (expired tokens, weak algorithms like "none"). The decoder doesn't need the signing secret to display contents, but verification requires it.

Use Cases

1. Authentication & API Debugging
Inspect JWT tokens during API development to verify token structure, check included claims, and debug authentication issues. Developers decode access tokens to ensure user IDs, roles, and permissions are correctly embedded. When APIs reject tokens, decoding reveals expiration status, issuer mismatches, or missing required claims.

2. Security Analysis & Token Inspection
Security researchers analyze JWT implementations to identify vulnerabilities like weak signing algorithms ("none" algorithm attack), missing expiration claims, or overly permissive scopes. Decode tokens to assess what sensitive information is embedded (user data, roles) and whether it should be encrypted rather than just signed.

3. Session Management & Troubleshooting
Diagnose session expiration issues by checking token timestamps (iat, exp, nbf). Users experiencing premature logouts can decode their tokens to verify expiration times. Support teams decode customer tokens to understand authentication state without accessing backend systems.

4. Third-Party Integration Testing
When integrating with OAuth providers, OIDC identity providers, or API services that return JWTs, decode tokens to verify claim formats and content. Ensure third-party tokens contain expected user information, scopes, and audience fields required for your application.

5. Learning & Education
Students and developers learning about JWT decode sample tokens to understand structure and claims. Educational resources use decoders to demonstrate how JWTs work, what information they contain, and why signature verification matters.

6. Token Migration & Auditing
During authentication system migrations, decode old and new token formats to compare claim structures and ensure compatibility. Audit existing token implementations by sampling production tokens and verifying they contain appropriate claims and security properties.

Tips & Best Practices

• Remember: decoding doesn't validate the token - always verify signatures in production

• Check the "exp" (expiration) claim to diagnose token timeout issues

• Look for the "alg" field in header - "none" is a critical security vulnerability

• Never store sensitive data (passwords, SSNs) in JWT payloads - they're readable by anyone

• Use JWT decoder to verify token structure before implementing signature verification

• Check "iat" (issued-at) and "nbf" (not-before) for time-based access control issues

• Compare "iss" (issuer) and "aud" (audience) claims to ensure tokens are for your application

• For refresh tokens, verify they contain appropriate scopes and longer expiration times

Frequently Asked Questions

Related Tools

Explore more tools that might help you