JWT Decoder
Decode JSON Web Tokens (JWTs) instantly. Runs in your browser — tokens never leave your device, safe to use with production secrets.
How to use this tool
- 1
Paste your JWT into the input field.
- 2
Click Decode. The header and payload are parsed and displayed.
- 3
Inspect the algorithm, claims, expiry, and issuer.
What is a JWT and how does it work?
A JSON Web Token (JWT, defined in RFC 7519) is a compact, URL-safe way to represent a set of claims about a user, with cryptographic proof those claims weren't tampered with. JWTs power authentication in most modern web stacks: when you log in, the server creates a JWT containing your user ID and permissions, signs it with a secret key, and sends it back. Your browser stores the token (usually in localStorage or a cookie) and includes it in the Authorization header of every subsequent request. The server verifies the signature on each request — if it's valid, the claims inside the token are trusted; if it's tampered, the signature breaks and the request is rejected. JWTs have three Base64URL-encoded parts separated by dots: the header declares the signing algorithm (HS256 for HMAC-SHA256, RS256 for RSA, ES256 for ECDSA, none for unsigned tokens — which is dangerous and you should reject those); the payload contains the actual claims (standard claims like 'sub' for subject, 'exp' for expiration, 'iat' for issued-at, plus any custom claims your application defines); the signature is proof the header and payload were signed by someone who held the secret. This decoder reveals the first two parts, which are public information — the signature can only be verified with the key, which is why every JWT decoder displays the claims without verification.
Common use cases
Debug authentication problems by decoding the JWT your client is sending — see exactly which claims are present, who issued it, and when it expires.
Inspect API gateway JWTs (AWS Cognito, Auth0, Okta) to understand the claims structure for downstream services.
Verify that custom claims (organization ID, role, feature flags) are being set correctly in the token-issuance code.
Compare tokens before and after a refresh to confirm the expiry was extended.
Audit a token's algorithm — confirm RS256 or ES256 is used in production, never 'none'.
Translate base64url payloads from server logs into human-readable claims.
Frequently asked questions
Is this safe to use with production JWTs?▼
Does this verify the signature?▼
What if my JWT is expired?▼
Can JWTs be encrypted?▼
What does 'alg': 'none' mean and is it dangerous?▼
Why use JWTs instead of session cookies?▼
What are the standard JWT claims?▼
Related tools
JSON Formatter & Validator
Format, validate, and minify JSON instantly. Catches syntax errors with line numbers, pretty-prints with adjustable indent, supports large payloads. Runs in your browser — no upload.
XML Formatter & Beautifier
Format and beautify XML documents — proper indentation, line breaks, namespace handling. Useful for SOAP responses, sitemaps, RSS feeds, and Android resource files.
Base64 Encoder & Decoder
Encode and decode Base64 strings.
URL Encoder & Decoder
Encode/decode URL-safe strings.
HTML Entity Encoder & Decoder
Convert special characters to/from HTML entities.
CSS Minifier
Minify CSS to reduce file size.