What it does
The JWT Encoder / Decoder reads a JSON Web Token, shows its header, payload and claims in plain words, and verifies the signature with your secret or public key. It can also create and sign tokens, and generate keys. Supported algorithms: HS256/384/512, RS256/384/512, PS256/384/512, ES256/384/512 and EdDSA.
How to use it
Decode and verify
- Paste the token into Encoded token, or click Load sample.
- Read the Header, Payload and Claims. Times such as
exp,iatandnbfare shown as dates, with Expired, Not yet valid or Not expired. - Enter the secret (HS algorithms) or the public key in PEM or JWK form (RS, PS, ES, EdDSA) to see Signature verified or Invalid signature.
Encode and sign
- Switch to Encode & sign.
- Choose the algorithm and edit the header and payload.
- Enter a secret or private key, or click Random to generate a key pair. Copy the token, and share only the public key.
Example
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI0MiIsIm5hbWUiOiJBZGEiLCJpYXQiOjE3OTI1OTMwMDAsImV4cCI6MTc5MjU5NjYwMH0.tqJnDXbLLVn4GVhLFrgoHe0kRudZWSKYgZxI_s0xOJ0
decodes to:
{ "alg": "HS256", "typ": "JWT" }
{ "sub": "42", "name": "Ada", "iat": 1792593000, "exp": 1792596600 }
The token was issued on 21 October 2026 at 14:30 UTC and expires an hour later. With the secret intab the signature verifies.
Good to know
- Anyone can read a JWT. The payload is only Base64URL-encoded, not encrypted, so never put passwords or personal data in it. For encrypted tokens see PASETO
v4.local. - Verifying needs the right key: a secret for HS algorithms, the public key for the others.
- Paste only tokens you are allowed to inspect, and prefer test tokens over live production ones. The token stays in your browser.
FAQ
Why does it say "Invalid signature"? The secret or key is wrong, the token was changed after signing, or the algorithm in the header does not match your key type. For HS tokens, check that the secret has no stray spaces.
What is the difference between RS256 and ES256? Both use a key pair. RS256 uses RSA with larger keys and signatures; ES256 uses elliptic curves with much smaller keys and signatures. EdDSA (Ed25519) is a newer, fast curve choice.