DevConverter
JSON & Data
Encoding & Decoding
Security & Crypto
Text Utilities
Time & Date
Utilities
Blog
Categories
Security & Crypto
JWT Decoder

JWT Decoder

Decode JWT tokens locally to inspect header + payload claims (exp/nbf/iat, iss/aud, scopes/roles) and debug OAuth2/OIDC authentication issues.

JWT Token
Input
Decoded JWT
Output

What is JWT Decoder?

JWT Decoder & Claims Inspector is a developer tool for decoding JSON Web Tokens (JWT/JWS) used in OAuth2, OpenID Connect (OIDC), SSO, and API authentication. Paste a token and instantly view the decoded header and payload as readable JSON, including important claims like exp (expiration), nbf (not before), iat (issued at), iss (issuer), aud (audience), sub (subject), jti (token id), scope/scp, roles, permissions, and custom app claims. This is ideal for debugging 401/403 errors, validating that your identity provider (Auth0/Okta/Cognito/Keycloak/etc.) is issuing the expected claims, and catching risky headers such as unexpected alg values. Decoding happens locally with Base64URL parsing—no network calls, no storage, and no token logging.

How to Use

1

Copy the full token from your Authorization header (Bearer …), cookie, localStorage, or API response

2

Paste the JWT into the input field (format: header.payload.signature)

3

Click "Decode JWT" (or decode automatically) to view header + payload as JSON

4

Check exp/nbf/iat to confirm the token is currently valid (clock skew can matter)

5

Verify iss (issuer) and aud (audience) match what your backend expects

6

Inspect scope/scp/roles/permissions claims to understand authorization decisions

7

Confirm typ/kid/alg in the header to ensure your verification settings match

8

Copy decoded JSON when debugging (avoid sharing real production tokens publicly)

Common Use Cases

Fix 401 Unauthorized: Confirm exp is not expired and nbf is not in the future

Fix 403 Forbidden: Inspect scopes/roles/permissions claims vs your RBAC rules

Debug OAuth2/OIDC issues: Verify iss/aud, client_id/azp, nonce, and identity claims

Troubleshoot API gateways: Compare claims at the edge vs downstream services

Validate SSO integrations: Ensure your IdP includes the claims your app requires

Check token type: Distinguish access tokens vs ID tokens by typical claim patterns

Detect suspicious headers: Spot alg=none, unexpected typ, missing kid, or weird structures

Explain auth bugs in PRs/tickets: Copy readable claim JSON instead of raw tokens

Key Features

Instant Base64URL decoding of JWT header + payload

Readable JSON output (great for debugging and documentation)

Highlights validation-critical claims

exp, nbf, iat, iss, aud, sub, jti

Works for OAuth2 access tokens and OIDC ID tokens (claim inspection)

Helps triage 401 vs 403 quickly by inspecting validity vs permissions

Local-only processing

no network calls, no uploads, privacy-first

Copy-friendly output for bug reports (sanitize sensitive claims first)

Handles common real-world claim shapes

scope/scp arrays/strings, roles, permissions

Related Articles

Learn more about this tool with our in-depth guides

How to Decode JWT Tokens: A Complete Guide
Jan 5, 2025•10 min read

How to Decode JWT Tokens: A Complete Guide

Learn how to decode and validate JWT tokens. Understand JWT structure, security best practices, and common use cases.

#jwt#authentication#security+2

Quick Examples

Try these to get started

Decode a JWT with basic identity claims

Inspect sub, name, and iat to understand what the token represents.

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

Check expiration window (exp/nbf/iat)

Confirm whether the token is valid right now (watch for exp and nbf).

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyXzEyMyIsImlhdCI6MTcwMDAwMDAwMCwibmJmIjoxNzAwMDAwMDAwLCJleHAiOjE3MDAwMDM2MDB9.signature

OAuth2 access token with scopes (scope string)

Inspect iss/aud and scope when debugging 401/403 authorization issues.

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2F1dGguZXhhbXBsZS5jb20iLCJhdWQiOiJodHRwczovL2FwaS5leGFtcGxlLmNvbSIsInN1YiI6InVzZXJfMTIzIiwic2NvcGUiOiJyZWFkOnVzZXJzIHdyaXRlOnVzZXJzIiwiaWF0IjoxNzAwMDAwMDAwLCJleHAiOjE3MDAwMDM2MDB9.signature

OAuth2 token with roles array (RBAC debugging)

Verify roles/permissions claims vs your RBAC rules when access is denied.

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI0MjEiLCJlbWFpbCI6InVzZXJAZXhhbXBsZS5jb20iLCJyb2xlcyI6WyJ1c2VyIiwiYWRtaW4iXSwicGVybWlzc2lvbnMiOlsicmVhZDpyZXBvcnRzIiwid3JpdGU6dXNlcnMiXSwiZXhwIjoxNzM2MjA4MDAwfQ.signature

Validate issuer and audience (common OIDC misconfiguration)

Confirm iss/aud match your backend’s expected issuer and audience values.

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2lkcC5leGFtcGxlLmNvbS8iLCJhdWQiOiJteS1hcGktYXVkaWVuY2UiLCJzdWIiOiJ1c2VyXzEyMyIsImV4cCI6MTczNjIwODAwMH0.signature

Spot algorithm/header issues (kid/alg/typ)

Use header fields (alg/kid/typ) to debug signature verification configuration.

eyJhbGciOiJSUzI1NiIsImtpZCI6IjIwMjYtMDEta2V5LTEiLCJ0eXAiOiJKV1QifQ.eyJzdWIiOiJ1c2VyXzEyMyIsImF1ZCI6ImFwaSIsImlzcyI6Imh0dHBzOi8vYXV0aC5leGFtcGxlLmNvbSIsImV4cCI6MTczNjIwODAwMH0.signature

Risky header example (alg: none) — for learning only

Inspect alg=none in the header (never accept 'none' during verification in production).

eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJzdWIiOiJhdHRhY2tlciIsImFkbWluIjp0cnVlfQ.

OIDC ID token payload (profile claims)

Verify identity fields like email/email_verified/name when debugging login flows.

eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2VyMTIzIiwiZW1haWwiOiJ1c2VyQGV4YW1wbGUuY29tIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsIm5hbWUiOiJKb2huIERvZSIsInBpY3R1cmUiOiJodHRwczovL2V4YW1wbGUuY29tL3Bob3RvLmpwZyJ9.signature

JWE hint: token that won’t decode like a JWT (5 parts)

If the token has 5 dot-separated parts, it may be a JWE (encrypted). Decoding claims requires decryption keys, not just Base64URL parsing.

eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZHQ00ifQ.eyJraWQiOiJrZXkxIn0.ZXhhbXBsZQ.encryptedPayload.tag

Common Questions

Find answers quickly

Related Tools

You might also need

Base64 Encoder / Decoder

Encode to Base64 or decode Base64 to text — supports Base64URL (JWT), UTF-8/Latin1, padding toggle, and auto-detect.

JSON Formatter & Validator

Format, validate, beautify, and minify JSON — instantly detect errors and debug API payloads safely in your browser.

URL Encoder & Decoder

Encode or decode URL strings and query parameters using percent-encoding (UTF-8)

Hash Generator

Generate MD5, SHA-256, SHA-384, and SHA-512 hashes from text for checksums, integrity checks, and fingerprints

UUID Generator

Generate random UUID v4 values for databases, APIs, request tracing, and distributed systems

Password Generator

Generate strong random passwords with custom length, symbols, numbers, and mixed-case options — built for secure account creation

DevConverter

Free, fast, and secure online developer tools. All processing happens in your browser for complete privacy.

DevConverter GitHub RepositoryDevConverter LinkedIn ProfileEmail DevConverter

Popular Tools

  • JSON Formatter
  • Base64 Encoder
  • JWT Decoder
  • Hash Generator

Categories

  • JSON & Data
  • Encoding & Decoding
  • Security & Crypto
  • Text Utilities
  • Time & Date
  • Utilities

Company

  • About Us
  • Blog
  • FAQ
  • Privacy Policy
  • Terms of Service
  • Contact
© 2026 DevConverter. All rights reserved.
Made with ❤️ for developers worldwide