Skip to content
Categories
JWT Validator
Validate a JWT's format, expiration, and signature.
Overview
- Parses a JWT's Header and Payload, checks its expiration (exp), and — when you provide a Secret — also verifies the signature.
- While JWT Decoder focuses on inspecting contents, this tool goes further to check whether the token is actually valid.
- If you don't enter a Secret, the signature is treated as "Not verified" and only Header/Payload parsing and the exp/iat check are performed.
Usage
- Enter the JWT you want to validate into the text area.
- To also verify the signature, enter Secret (optional).
- Click the "Validate" button to display the Header, Payload, exp/iat claims, and signature verification result.
Example
Input
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIn0.xxxxx
Output
iat: - exp: - Signature: Not verified (no secret entered)
Use Cases
- Checking whether a received JWT has expired, as a first step when investigating an authentication bug
- Verifying that an issued JWT is correctly signed with the expected Secret
- Determining whether an API error (such as 401) is caused by a signature mismatch or an expired token
FAQ
Is the JWT or Secret I enter sent anywhere?
No. Parsing and signature verification happen entirely in your browser using the Web Crypto API and are never sent to an external server.
What happens if I don't enter a Secret?
Only the Header/Payload parsing and the exp/iat claim check are performed; the signature is shown as "Not verified."
How is it displayed if there is no exp claim?
Expiration cannot be determined, so "-" is displayed.
Notes
- If you don't enter a Secret, the signature is not verified and "Not verified" is displayed. Leave Secret empty if only inspecting the contents is enough.
- The "Standard JWT (jwt.io example)" sample validates as a valid signature when you enter "your-256-bit-secret" as the Secret — useful for trying out the feature.
- A JWT without an exp claim cannot have its expiration determined, so "-" is displayed.
Related Tools
Generate a JWT from a header, payload, and secret.
Generate an HMAC from a message, secret, and algorithm.
Generate SHA-1, SHA-256, SHA-384, and SHA-512 hash values from text.