Free JWT Decoder
Paste a JWT and instantly see its decoded header, payload, and whether itβs expired. Nothing sent to a server.
Try it
How it works
A JWT has three Base64URL-encoded parts separated by dots: header.payload.signature
const parts = token.split('.');
const header = JSON.parse(atob(parts[0]));
const payload = JSON.parse(atob(parts[1]));
The signature canβt be verified client-side without the secret key β but you can still inspect the header and payload, which is what you need 90% of the time when debugging.
Common JWT fields
| Field | Meaning |
|---|---|
iss | Issuer β who created the token |
sub | Subject β who the token is about |
exp | Expiration time (Unix timestamp) |
iat | Issued at (Unix timestamp) |
aud | Audience β who the token is for |
scope | Permissions granted |