Decode and inspect JSON Web Tokens — header, payload, expiry, claims
JSON Web Tokens (RFC 7519) consist of three Base64URL-encoded parts separated by dots: header (algorithm + type), payload (claims/data), and signature (cryptographic verification). This decoder performs Base64URL-to-UTF8 conversion with proper padding restoration (replacing - with +, _ with /, and adding = padding). It parses Unix epoch timestamps (iat, exp, nbf) into local date/time strings. Note: this tool decodes but does NOT verify signatures — it reveals what's inside a token without needing the signing secret.
Real-world use cases:
This tool is part of the FAK LAB ecosystem, founded by Faizan Ahmad Khan Khichi. JWT decoding happens 100% in your browser using Base64 decoding and JSON parsing. Your tokens — which contain authentication claims, user identifiers, and session data — are never transmitted to any server. No tokens are logged, cached, or exposed. Important: Never paste tokens containing active secrets into online tools that send data to servers — this tool is safe because it's purely client-side.
No. Signature verification requires the signing secret (for HMAC) or public key (for RSA/ECDSA), which this tool doesn't have access to. It only decodes and displays the token contents. A decoded token doesn't mean it's valid — verification must happen server-side with the proper key.
Yes — JWT payloads are NOT encrypted, only Base64-encoded. Anyone who possesses the token can read its contents trivially. This is by design: JWTs are meant to carry claims that don't require confidentiality, only integrity (guaranteed by the signature). Sensitive data should never be placed in JWT payloads.
The "exp" (expiration) claim is a Unix timestamp indicating when the token becomes invalid. After this time, the token should be rejected by servers regardless of its signature validity. Short-lived tokens (15 min - 1 hour) limit damage if a token is stolen. This tool shows whether the token has passed its expiry and by how much.