JWT Decoder — Decode a Token Online

Decode a JWT: header and payload in readable form. The signature is not verified and data never leaves your browser.

Header
{
  "alg": "HS256",
  "typ": "JWT"
}
Payload
{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022
}
iat
1/18/2018, 1:30:22 AM

The JWT decoder breaks a token into its parts and shows its contents. A JWT (JSON Web Token) consists of three dot-separated parts — header, payload and signature — where the first two are Base64URL-encoded. Paste in a token and the tool displays the header and payload as formatted JSON, converting timestamps (iat, exp, nbf) into readable dates.

This is invaluable when debugging authorization: you can see exactly what data and permissions are baked into a token, whether it has expired (exp), and who issued it. It's important to understand that the decoder only reads the contents and does NOT verify the signature — verification requires a secret key that should never end up in a browser. So don't paste live production tokens in here.

Parsing happens entirely locally in your browser; the token is never sent anywhere.

Frequently asked questions

No. The decoder only displays the token's contents. Verifying the signature requires a secret/key and must be done on a server.
No, parsing happens locally in your browser. Even so, avoid pasting live production tokens here.
iat is when the token was issued, exp is when it expires (both in Unix seconds). The tool converts them into ordinary dates.