What is a JWT?
JSON Web Tokens (JWTs) are compact, URL-safe tokens used for authentication and authorization in modern web applications. A JWT contains encoded information about a user or system, cryptographically signed to prevent tampering. Validation ensures the token is authentic, hasn't expired, and comes from a trusted source.
JWTs are commonly used in OAuth 2.0 and OpenID Connect flows for secure API authentication and single sign-on (SSO) systems.
How to Use This JWT Validator
- Paste your JWT into the input field
- Click "Validate" to decode the token
- Inspect the decoded header, payload, and claims
- Enter a public key to verify the signature (optional)
Note: All validation happens client-side in your browser.
Supported Algorithms
This validator supports the following asymmetric signing algorithms for signature verification:
- RS256, RS384, RS512 — RSA with SHA-256/384/512
- PS256, PS384, PS512 — RSA-PSS with SHA-256/384/512
- ES256, ES384, ES512 — ECDSA with P-256/384/521 curves
Note: HMAC algorithms (HS256, HS384, HS512) require shared secrets and cannot be verified with public keys.
Why Validate JWTs?
JWT validation is critical for security in applications using token-based authentication. Validation prevents:
- Token tampering: Signature verification ensures the token hasn't been modified
- Expired credentials: Checking the
exp claim prevents accepting stale tokens
- Unauthorized access: Verifying the issuer (
iss) and, when present, the audience (aud) ensures tokens come from trusted sources
- Replay attacks: Proper validation of claims like
nbf (not before) and jti (JWT ID) adds additional security layers
Frequently Asked Questions
Is it safe to paste my JWT into this tool?
Yes. All decoding and validation happens entirely in your browser using the Web Crypto API. No data is sent to any server. Your token never leaves your machine.
Can a JWT be tampered with?
The payload of a JWT is only base64url-encoded, not encrypted, so anyone can decode and read it. However, the signature binds the header and payload together cryptographically. If any part of the token is modified, signature verification will fail. This is why verifying the signature is critical since decoding alone does not confirm the token is trustworthy.
What happens if a JWT has no expiration?
A JWT without an exp claim never expires on its own. This is a security risk. If the token is stolen or leaked, it remains valid indefinitely. Best practice is to always include an exp claim and keep the lifetime short, relying on refresh tokens for long-lived sessions.
What is the difference between JWS and JWT?
A JWT (JSON Web Token) is a claim set encoded as a JSON object. A JWS (JSON Web Signature) is the mechanism that signs and wraps that payload. In practice, most JWTs you encounter are JWS tokens. The three-part dot-separated format is defined by JWS. JWT defines what goes in the payload; JWS defines how it gets signed and serialized.
What is the difference between a JWK and a PEM key?
A JWK (JSON Web Key) is a JSON object that represents a cryptographic key. A PEM file is a base64-encoded format wrapped in header and footer lines like -----BEGIN PUBLIC KEY-----. Both can represent the same underlying key. JWK is more common in modern auth systems and APIs, while PEM is more common in traditional server infrastructure. This tool accepts both formats for signature verification.
How do I get the public key to verify my JWT?
Most authorization servers expose a JWKS endpoint, typically at /.well-known/jwks.json, though some provide a dedicated API endpoint instead. This endpoint returns the public keys used to sign tokens. Find the key whose kid matches the kid in your JWT header, copy the full JWK object, and paste it into the Signature Verification section above. If you control the signing server, you can also export the public key directly in PEM format.
What does the kid claim mean?
The kid (key ID) claim is an optional header parameter that identifies which key was used to sign the JWT. When an authorization server rotates keys, the kid tells the verifier which public key from the JWKS endpoint to use for verification. If your JWT has a kid, look it up in your auth server's JWKS endpoint to get the correct public key.
References & Specifications
The following standards and resources are relevant to JWT validation, security, and token-based authentication:
-
RFC 7519 — JSON Web Token (JWT)
The core specification defining the JWT format, claims, and processing rules.
-
RFC 7515 — JSON Web Signature (JWS)
Defines how JWTs are signed and the structure of the signature.
-
RFC 7517 — JSON Web Key (JWK)
Specifies the format for representing cryptographic keys used to sign and verify JWTs.
-
OWASP JWT Security Cheat Sheet
Practical guidance on JWT vulnerabilities, common attacks, and secure implementation.
-
NIST SP 800-63B — Digital Identity Guidelines
Federal standards for authentication and identity management relevant to token-based auth.
-
OpenID Connect Core 1.0
The specification for OIDC, which uses JWTs as its primary token format.