{}
{}
Read a JSON Web Token's header and payload, inspect expiry claims, and verify HS256, HS384 or HS512 signatures with your own key.
{}
{}
A JWT payload might contain {"sub":"demo-user","iat":1704067200,"exp":1704070800}. These claims use Unix time in seconds.
Decoding is not authentication. Verification here supports HS256, HS384 and HS512 HMAC signatures; RSA, EC and PSS tokens can be inspected but their signatures are not verified by this implementation. A readable token can be forged or expired. A signature check does not enforce issuer, audience or authorization rules. Use synthetic tokens when possible.
The tool's browser code handles entered text or selected files locally. Optional URL imports and external resources can make network requests. This website also uses third-party scripts, including analytics and advertising. Read the privacy policy and use sample data when testing sensitive workflows.
Found a problem? Report a tool issue with the browser version and steps to reproduce it. Avoid sending private document content or credentials.
No. Decoding only exposes encoded data. Authentication also requires signature verification and checks such as expiry, issuer and audience.
An ordinary signed JWT uses Base64url encoding for its header and payload, which anyone holding the token can read. Encrypted JWTs use a different structure.
The exp claim is a NumericDate expressed in seconds since the Unix epoch. Its presence does not by itself prove that the token is trustworthy.