JWT Token Decoder

Decode and inspect JWT tokens client-side. Splits header, payload, and signature.

Client-side only. This tool does NOT verify the JWT signature — it only decodes the header and payload.
JWT Token

What is JWT Decoder?

A JWT Decoder is a tool that decodes and displays the contents of a JSON Web Token (JWT) without requiring a secret key. JWTs are a compact, URL-safe way to represent claims between two parties and are widely used for authentication and authorization in web applications, APIs, and microservices. They are the standard token format for OAuth 2.0 and OpenID Connect.

A JWT consists of three Base64URL-encoded parts separated by dots: the header (algorithm and token type), the payload (claims like user ID, roles, expiration time), and the signature. The header and payload are simply Base64URL-encoded JSON, so they can be decoded and read by anyone — the signature is what prevents tampering. A JWT decoder extracts and displays the header and payload as readable JSON without needing the secret to verify the signature.

Developers use JWT decoders constantly during development to inspect token contents, verify that the correct claims are present, check expiration times, debug authentication issues, and understand what data is being passed between services. It is an essential tool for anyone working with modern authentication systems.

How to Use JWT Decoder

  1. 1Step 1: Obtain a JWT token — copy it from your browser's local storage, from an API response in Postman, from your application logs, or from an Authorization header in a network request.
  2. 2Step 2: Paste the full JWT string (the three dot-separated Base64URL encoded sections) into the input field. Make sure you include all three parts: header.payload.signature.
  3. 3Step 3: Click 'Decode' or let the tool auto-decode. The tool will split the token on dots, Base64URL-decode each section, and parse the JSON in the header and payload parts.
  4. 4Step 4: Review the decoded header to see the signing algorithm (alg) and token type. Review the decoded payload to see claims like sub (subject/user ID), exp (expiration), iat (issued at), and custom claims.
  5. 5Step 5: Check the expiration claim (exp is a Unix timestamp) to verify if the token is still valid. Note any roles, permissions, or custom claims your application expects to be present.

Benefits of Using JWT Decoder

  • Instant Token Inspection: Decode any JWT in seconds to see exactly what user data, roles, permissions, and expiration information the token contains without writing any code.
  • Authentication Debugging: When login or authorization failures occur, decoding the JWT immediately reveals whether the token contains the expected claims, correct user ID, or valid expiration time.
  • No Secret Required: The header and payload sections of a JWT are just Base64URL encoded — they can be decoded by anyone, making it safe and easy to inspect tokens during development.
  • Expiration Checking: Instantly see the exp (expiration) and iat (issued at) Unix timestamps to determine if a token is expired or when it was issued, without manual timestamp conversion.
  • OAuth and OIDC Work: When integrating OAuth 2.0 or OpenID Connect, JWT decoding helps verify that ID tokens contain the correct user profile fields and that access tokens have the right scopes.
  • Security Awareness: Decoding JWTs reminds developers that payload data is not encrypted — only signed — which is crucial knowledge for deciding what data is safe to include in tokens.

Example

A developer is troubleshooting why a user can access a regular page but gets a 403 Forbidden error on the admin panel. They copy the user's JWT from the browser's local storage and paste it into the JWT decoder. The decoded payload shows: {"sub": "user_4521", "email": "john@company.com", "role": "user", "exp": 1710432000}. Immediately visible is that the role claim is 'user' not 'admin' — the backend authorization middleware correctly denies access. The developer traces back to the role assignment logic and discovers a bug where users promoted to admin were not having their tokens refreshed with the new role claim.

About JWT Decoder

JWT Decoder parses and displays the header, payload, and signature sections of any JSON Web Token. It shows all claims in a readable format including expiration and issued-at times. Useful for debugging authentication flows and API integrations without needing a backend.

  • Decodes header, payload, signature
  • Displays all JWT claims clearly
  • Shows expiration and iat times
  • Works entirely client-side