JWT Decoder
Paste a JWT to instantly decode the header, payload, and claims. Expiration dates are shown in human-readable format with an expired/valid indicator. Runs entirely in your browser.
{
"alg": "HS256",
"typ": "JWT"
}{
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022
}SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Signature is shown for reference only. Verification requires the secret key or public key — not available in this tool.
Understanding JWT Structure
A JWT has three parts separated by dots: header.payload.signature. The header and payload are Base64url-encoded JSON — they are readable by anyone with the token. Only the signature is opaque without the secret key.
This means JWTs are not encrypted — they are only signed. Never put sensitive data (passwords, credit card numbers, SSNs) in a JWT payload. The signature proves the token hasn't been tampered with, but the data inside is readable.
Common debugging scenarios: checking if a token is expired (exp claim), seeing what scopes/roles are included, verifying the issuer (iss) and audience (aud), or inspecting custom claims your auth server added.
JWT Decoder FAQs
What is a JWT?
Is it safe to decode a JWT in this tool?
What is the exp claim?
What is the difference between HS256 and RS256?
Why can't this tool verify the signature?
What are standard JWT claims?
Related Tools
JSON Formatter & Validator
Format, validate, and minify JSON instantly. Private — runs entirely in your browser.
Regex Tester
Test regular expressions in real-time with live match highlighting and capture group display.
Base64 Encoder / Decoder
Encode text to Base64 or decode Base64 to text. UTF-8 safe, private, instant.