How the JWT Decoder Works
A JWT consists of three Base64URL-encoded segments separated by dots: header, payload, and signature. This tool splits the token on the dots, Base64URL-decodes each segment using TextDecoder for full UTF-8 correctness, and renders the parsed JSON. The algorithm (alg) and type (typ) from the header are displayed as badges. Standard registered claims (iss, sub, aud, exp, iat, nbf) are decoded with human-readable timestamps.
The optional HS256 signature verification uses the Web Crypto API (HMAC-SHA256) entirely in the browser. Enable it, enter your HMAC secret, and the tool verifies whether the signature matches. No data ever leaves your browser.
References
The JWT structure is defined in RFC 7519 — JSON Web Token (JWT) (rfc-editor.org/rfc/rfc7519). This RFC specifies the three-part structure, registered claim names (iss, sub, aud, exp, nbf, iat, jti), and the Base64URL encoding.
Signing algorithms (HS256, RS256, ES256, etc.) are defined in RFC 7518 — JSON Web Algorithms (JWA) (rfc-editor.org/rfc/rfc7518). This tool only verifies HS256 (HMAC-SHA256) in v1.
What's here — and what's not
Full JWT decoding: header (alg, typ), payload with all custom claims, signature display. Standard claims (exp, iat, nbf) rendered as human-readable ISO timestamps with relative time (e.g. 'expired 3 days ago'). Optional HS256 signature verification via Web Crypto. Security notice reminding you not to paste production tokens.
What isn't here: JWE (JSON Web Encryption) decryption — encrypted tokens require a private key and are fundamentally different from signed JWTs. RS256, ES256, PS256 signature verification — asymmetric algorithms require the public key in PEM or JWK format, which is v2. Token generation or signing is also not supported — this is a decoder and inspector, not an auth tool.