Free Converter

JWT Token Decoder

Decode JWT (JSON Web Token) header and payload instantly in your browser. Free, private, and client-side — no data sent to any server.

About JWT Decoding

JSON Web Tokens (JWT) are a compact, URL-safe format for transmitting claims between two parties, defined by RFC 7519. A JWT is three base64url-encoded segments separated by dots: header (algorithm and token type), payload (claims), and signature (cryptographic proof of authenticity). The header and payload are JSON, base64url-encoded for URL safety; the signature uses one of several algorithms (HS256, RS256, ES256, and others) over the encoded header and payload.

Decoding a JWT — splitting it into segments and base64-decoding each — does not require any secret. Anyone with the token text can read its header and payload. The signature, however, can only be verified with the secret (HMAC) or public key (asymmetric). Decoding is for inspection; verification is what proves authenticity.

This decoder splits the token, base64-decodes each segment, parses the header and payload as JSON, and shows the result. It does not attempt signature verification because that requires the secret or public key, which the decoder does not have. The decoded output is read-only inspection — useful for debugging tokens but not a substitute for proper verification in application code.

Why Decode JWTs

Debugging authentication issues almost always involves inspecting tokens. A token that looks valid in code may have wrong claims, an unexpected algorithm, an expired exp timestamp, or audience mismatch. Decoding the token reveals exactly what the issuer produced.

Inspecting tokens during integration work also helps. When connecting to a third-party API or identity provider, the actual claim names, formats, and structure are best understood by decoding sample tokens rather than relying on documentation that may be outdated.

How to Decode a JWT

Paste the token, get the parsed contents.

  1. Paste your JWT: Drop the full token (header.payload.signature) into the input area. The decoder accepts tokens with or without the optional Bearer prefix.
  2. Inspect the header: The header shows the signing algorithm (alg) and token type (typ). Common algorithms are HS256, RS256, and ES256. Watch for alg: none, which signals an unsigned token and is rarely safe in production.
  3. Inspect the payload: The payload contains the claims: iss (issuer), sub (subject), aud (audience), exp (expiration), iat (issued at), and any application-specific claims. Standard timestamps are Unix epoch seconds.
  4. Verify separately: The decoder does not verify the signature. To check authenticity, run the token through a JWT library with the appropriate secret or public key in your application code.

Common Use Cases

Technical Details

JWT format is three segments joined by dots. Each segment is base64url-encoded — the URL-safe variant of base64 that uses - and _ instead of + and /, with padding sometimes omitted. Decoding requires undoing the URL-safe substitutions, padding the segment, and base64-decoding.

The header and payload are JSON after decoding. The signature segment is binary (raw signature bytes) and is not human-readable; it requires the verification key to be useful.

Common claims defined in RFC 7519: iss (issuer), sub (subject identifier), aud (audience), exp (expiration as Unix epoch seconds), nbf (not-before timestamp), iat (issued-at timestamp), jti (unique token ID). Application-specific claims can appear with any name.

Best Practices

Frequently Asked Questions

Is decoding the same as verifying?
No. Decoding reveals the contents; verification proves the token is authentic and unaltered. Decoding requires only the token text. Verification requires the secret (HMAC) or public key (asymmetric) and is essential before trusting any claims.
Can I read JWTs without the secret?
Yes. JWTs are not encrypted by default. The header and payload are base64-encoded JSON, readable by anyone with the token text. Only the signature requires keys to verify.
What's the signature for?
The signature proves the token was issued by someone holding the secret or private key, and that nothing in the header or payload has been altered since signing. Without verification, claims could be anything.
What does each part of the token contain?
The first part (header) contains algorithm and type metadata. The second (payload) contains the claims. The third (signature) is cryptographic proof of authenticity.
Why are some tokens missing a signature?
Tokens with alg: none have no signature. They are valid JWTs by spec but provide no authenticity guarantees and should not be accepted in production.
Are JWTs encrypted?
Standard JWT payloads are signed but not encrypted. JWE (JSON Web Encryption, RFC 7516) is a separate format for encrypted tokens. Most JWTs in the wild are JWS (signed only).
Is my token uploaded to a server?
No. Decoding happens in your browser; the token does not leave your device.
How long are JWTs typically?
Anywhere from a few hundred to several thousand characters. Length depends on the number and size of claims plus the signature length (which depends on algorithm).