Decode and generate JWT tokens
No data
Enter the secret used to sign the JWT below:
Verification happens entirely in your browser. No tokens are sent to external servers.
No data
No data
No data
JWT (JSON Web Token) is an open standard (RFC 7519) for securely transmitting information between parties. It is digitally signed, making it verifiable and trustworthy. JWTs can be signed using HMAC algorithms or RSA/ECDSA public/private key pairs.
xxxxx.yyyyy.zzzzz
issIssuer - The entity that issued the token
subSubject - The subject of the token (usually user ID)
audAudience - The recipients the token is intended for
expExpiration Time - Unix timestamp when token expires
nbfNot Before - Token is invalid before this time
iatIssued At - Unix timestamp when token was issued
jtiJWT ID - Unique identifier for the token
Issue JWT after user login to verify identity in subsequent requests
Verify sender identity and detect content tampering through signatures
Maintain authentication across multiple services with a single token
Secure API call authentication between microservices
HMAC + SHA-256. The most commonly used symmetric key algorithm
HMAC + SHA-384. Enhanced security with longer hash than HS256
HMAC + SHA-512. Symmetric key algorithm with the longest hash
This tool only supports HMAC-based symmetric algorithms (HS*). RSA/ECDSA asymmetric algorithms require separate public/private key pairs.
A tool that decodes JSON Web Tokens to analyze headers, payloads, and signatures, and generate new JWT tokens. Visually inspect token claims (issuer, expiration, user info, etc.) and verify signatures using HMAC algorithms (HS256/HS384/HS512). All processing happens in the browser to keep tokens secure.
Choose Decoder or Encoder
Choose the Decoder tab to analyze an existing JWT or the Encoder tab to create a new one.
Enter a Token (Decoder)
Paste a JWT string to decode and display its header and payload automatically.
Verify the Signature
Enter the secret key and click Verify to check whether the signature is valid.
Generate a Token (Encoder)
Choose an algorithm and secret key, then enter header and payload JSON to generate a JWT.
No. A JWT is Base64-encoded, not encrypted. Anyone can decode it, so never include sensitive information such as passwords or credit card numbers in the payload.
Both are HMAC-based symmetric-key algorithms, but HS256 uses SHA-256 and HS512 uses SHA-512. HS512 produces a longer hash and offers a larger security margin, though HS256 is sufficient for most use cases.
A JWT is expired when its exp (expiration time) claim is earlier than the current time. Request a new token from the server or renew it with a refresh token.
No. All decoding and signature verification is performed locally with your browser's Web Crypto API. Token data is not sent to a server or any external service.
The tool currently supports only HMAC-based symmetric-key algorithms: HS256, HS384, and HS512. Asymmetric algorithms such as RS256 and ES256 require a public/private key pair and a separate tool.