Decode · Verify · Build — HS256 · RS256 · ES256 · Claims · Expiration — 100% local, no upload
Paste any JWT token to instantly decode its header, payload, and claims. Verify HMAC signatures with your secret, or RS256/ES256 with a PEM public key. Test expiration, travel through time, and build your own signed tokens.
A JSON Web Token (JWT) is an open standard (RFC 7519) defining a compact, self-contained way to transmit information between parties as a signed JSON object. A JWT consists of three Base64URL-encoded parts separated by dots:
alg) and token type (typ).sub, iss, exp, iat…).Paste your JWT into the input field. The tool automatically splits the three dot-separated parts and displays the header and payload as indented, syntax-highlighted JSON. Decoding is instant and runs entirely in your browser.
Click Advanced options and enter your HMAC secret. If your secret is Base64-encoded, tick the checkbox. The tool uses the browser's SubtleCrypto API to verify the HMAC-SHA256 signature and shows ✓ Valid signature or ✗ Invalid signature.
In Advanced options, pick a date and time. The tool recalculates the exp and nbf status against that date, letting you simulate whether the token would be valid at any point in time — useful for debugging expiration issues.
Yes. Paste the RSA public key in PEM (SPKI) format into the dedicated field. The SubtleCrypto API imports the key and verifies the RSA-PKCS#1-v1_5 or RSA-PSS signature directly in the browser, with no network requests.
Absolutely. No data is sent to any server. Decoding, signature verification, and token building all run in JavaScript in your browser.