JWT Decoder — Inspect Tokens Instantly

Decode and inspect JSON Web Tokens instantly. View header, payload, and expiration. Free, private — your tokens stay in your browser.

JWT Decoder — Decode & Inspect JSON Web Tokens

Decode and inspect JSON Web Tokens without needing the secret key. View the header algorithm, all payload claims including user data and expiration time, and verify whether the token has expired. Essential for debugging authentication flows in web and mobile applications.

JWTs consist of three Base64URL-encoded parts separated by dots: the header (specifying the signing algorithm like HS256 or RS256), the payload (containing claims such as sub, iat, exp, and custom data), and the signature (computed from the header and payload using the secret key). This decoder parses the first two parts without requiring the signing key.

Frontend developers inspect JWTs stored in localStorage or cookies to debug login issues. Backend developers verify token claims when troubleshooting authorization failures. API testers examine tokens returned by OAuth flows. Security auditors check what data is exposed in token payloads.

Never store sensitive data like passwords or credit card numbers in JWT payloads — they are encoded, not encrypted, and anyone can decode them. Always check the exp (expiration) claim to verify token validity. For production systems, always validate the signature server-side; decoding alone does not prove authenticity.

Online JWT debuggers like jwt.io offer signature verification if you provide the secret key. This tool focuses on safe inspection without requiring secrets, making it suitable for production token debugging. For generating secure tokens and passwords, see our Password Generator.

How the JWT Decoder Works

  1. Paste your JWT token into the input field
  2. The decoder splits the token into its three parts: header, payload, and signature
  3. View the decoded header (algorithm, type) and payload (claims, expiration) as formatted JSON
  4. Check the expiration timestamp to see if the token is still valid

Understanding JSON Web Tokens

JWTs consist of three Base64-encoded parts separated by dots: header, payload, and signature. The header specifies the signing algorithm (usually HS256 or RS256). The payload contains claims like user ID, roles, and expiration time (exp). Important: decoding a JWT does NOT verify its signature — anyone can read a JWT's contents. Never store sensitive data in JWT payloads, and always validate the signature server-side.

When to Use the JWT Decoder

Use this decoder when debugging authentication and authorization issues in web applications. Inspect JWTs from login responses, API headers, or browser cookies to check claims, roles, expiration times, and issuer information. It is especially useful when troubleshooting why an API returns 401 or 403 errors.

Common Use Cases

  • Debugging 401/403 errors by inspecting token claims, roles, and expiration times
  • Verifying OAuth/OIDC token contents during SSO integration development
  • Checking what user data is exposed in JWT payloads for security audits
  • Inspecting refresh tokens and access tokens to understand session management flows JSON Formatter & Validator — Instant Results

Expert Tips

  • Never store sensitive data (passwords, credit card numbers) in JWT payloads — they are encoded, not encrypted
  • Check both the 'exp' (expiration) and 'nbf' (not before) claims to understand the token's valid time window
  • In browser DevTools, find JWTs in the Application tab under Cookies or Local Storage, or in the Network tab under Authorization headers

Frequently Asked Questions

Is it safe to paste my JWT into this tool?
Yes, all decoding happens locally in your browser. No data is sent to any server. However, be aware that JWTs are only encoded (Base64), not encrypted — anyone with the token can read its contents. Never share JWTs from production environments in public forums or screenshots.
Does this tool verify the JWT signature?
No, this tool decodes the header and payload without verifying the signature. Signature verification requires the secret key (for HS256) or public key (for RS256), which should never be exposed in client-side tools. Always verify signatures server-side in your application.
What is the 'exp' claim in a JWT?
The 'exp' (expiration) claim is a Unix timestamp indicating when the token becomes invalid. The decoder shows this as both a timestamp and a human-readable date, and indicates whether the token is currently expired. Tokens without an 'exp' claim never expire, which is generally a security risk.
What is the difference between HS256 and RS256?
HS256 (HMAC-SHA256) uses a shared secret key for both signing and verification — suitable for single-server setups. RS256 (RSA-SHA256) uses a private/public key pair — the issuer signs with the private key and anyone can verify with the public key. RS256 is preferred for distributed systems and OAuth providers.

Related Tools

Learn More

VultrSponsored

Vultr