JWT Decoder Online Free
Paste any JSON Web Token and instantly see its header, payload claims and signature — with human-readable iat/exp timestamps, a live expired/still-valid status, and security flags for dangerous token shapes. Decoding happens in your browser — tokens never leave your device.
✓ Claims Viewer · ✓ Expiry Checker · ✓ alg:none Detection · ✓ 100% Private🔍 JWT Token Inspector
🔧 JS ⏳ · Input — · Decode — · Engine ⏳
🧩 Token Anatomy
blue header green payload amber signature
📋 Header
📦 Payload Claims
✍️ Signature
The signature cannot be verified without the secret key — this decoder reads, it does not validate. Verification happens on your server.
How to Decode a JWT — 3 Easy Steps
Paste the Token
Drop in the full three-part JWT — with or without a "Bearer " prefix. Cleaning is automatic.
Read the Claims
Header, payload, signature and every claim appear instantly — timestamps shown as real dates.
Check Status
See live expired/still-valid status and security flags, then copy the claims JSON for your code.
Why Use This JWT Parser?
Full Claim View
Every payload claim unpacked with raw JSON beside it — sub, roles, custom fields, everything.
Readable Timestamps
iat, exp and nbf become real dates with a live expired or still-valid verdict.
Security Flags
Spots the dangerous alg:none pattern, missing signature, and missing expiration instantly.
Token Anatomy
The three parts color-coded so you can see exactly how a JWT is assembled.
100% Private
Tokens stay in your browser — never sent, stored, or logged. Safe for real tokens from your dev environment.
Instant & Offline
Pure JavaScript decoding on every keystroke — works with no internet at all.
Popular Use Cases
- 🐛 Debug why an API rejected your token — inspect the actual claims sent
- ⏰ Check whether a token is expired or when it will expire
- 🔍 See exactly what data your authentication server puts in tokens
- 🎓 Learn JWT structure by dissecting real examples
- 🚩 Audit tokens for alg:none and missing-expiry red flags
- 🧪 Verify your own generated tokens carry the right claims
Pro Tips for Reading JWTs
- Three parts, two dots: header.payload.signature. A token with only two parts is unsigned (alg none) — treat with suspicion unless you expected it.
- exp is seconds, not milliseconds: if your token's expiry date reads as "Jan 1970", someone fed milliseconds into the claim — a classic integration bug this decoder makes obvious.
- Decoding ≠ verifying: anyone can read a JWT's payload. Only your server, holding the secret, can prove the signature is genuine. Never trust decoded claims until the server verifies them.
- Bearer prefix: tokens often arrive as "Authorization: Bearer eyJ..." — the cleaner strips the prefix so a raw header paste just works.
- Round trip: copy claims from here, edit them in our JWT Encoder, and generate a fresh signed token.
0 Comments