A jwt decoder online is what you reach for when an API hands you a long dot-separated string and you need to know what’s inside — for instance, your login returned eyJhbGciOi… and you want to check which user it belongs to or when it expires, without firing up a terminal.
This free JWT decoder pastes and decodes instantly: the three segments are color-coded, the header and payload are pretty-printed as JSON, and expiry claims (exp, iat, nbf) are shown as human dates with valid-or-expired badges. It never verifies the signature — a browser tool can’t and shouldn’t — and your token never leaves the page, so even production tokens stay on your device. No signup, no watermarks, everything in your browser.
JWT Decoder
Paste a JSON Web Token — see its header and payload instantly.
Decoding starts automatically when you paste. Tip: use expired or test tokens — never paste a live production token with real privileges into any website.
Header
Payload
🔒 100% private — everything runs in your browser, nothing is uploaded.
How to Use the JWT Decoder
Here is the quickest path through this jwt decoder online:
- Paste your token into the JWT box — decoding starts automatically, no button needed.
- Check the three color-coded segments: blue for the header, green for the payload, red for the signature.
- Read the pretty-printed JSON panels for the header and payload.
- Look at the badges: the algorithm (
alg), token type, and human-readable dates forexp,iat, andnbf, with a clear Not expired or EXPIRED verdict. - Use Copy header JSON or Copy payload JSON to take the data elsewhere.
- Stuck? The most common failure is pasting an incomplete token — make sure all three dot-separated parts are present with no stray spaces or line breaks.
Features That Set This Tool Apart
- Paste-and-instant — no clicks required; decoding begins as soon as the token lands in the box.
- Color-coded segments — header, payload, and signature are visually separated exactly like the reference debugger.
- Human-readable expiry badge —
exp,iat, andnbfare converted to real dates with an expired/valid verdict, so you never do epoch math by hand. - No verification theater — this jwt decoder online tells you plainly that signatures are displayed but not verified, instead of implying a false sense of trust.
- Explicit privacy note — a visible reminder to prefer test or expired tokens over live production ones.
- Copy-friendly JSON panels — one click copies the decoded header or payload for your editor or ticket.
What Is a JWT?
A JSON Web Token is a compact, URL-safe way of passing claims between two parties, defined by RFC 7519. It has three parts separated by dots: header.payload.signature. The header is a JSON object naming the signing algorithm (alg, e.g. HS256 or RS256) and the token type. The payload carries the claims — statements like who the token is for (sub), who issued it (iss), and when it expires (exp). The signature is computed over the first two parts with a secret key, so the receiver can detect tampering.
Both the header and payload are base64url-encoded JSON, which means anyone can read them — a jwt decoder online just reverses the encoding. This surprises newcomers: a JWT is not encrypted by default, and its payload is visible to anyone who holds the token. Never put passwords, personal data, or anything sensitive in the payload. The security of a JWT comes from the signature, which proves the claims were issued by someone holding the key — not from secrecy of the contents.
JWTs are everywhere in modern development: OAuth access tokens, single-sign-on sessions, API authentication, and password-reset links. Because they are self-contained — the server can validate one without a database lookup — they scale well, which is why so many APIs hand them out at login. And that self-contained design is exactly what makes the contents instantly readable the moment you paste one into this jwt decoder. For background reading, Wikipedia’s JSON Web Token article covers the claims and security model in depth.
Reading Claims: exp, iat, nbf, and Friends
Registered claims have short names and precise meanings. exp (expiration time) is the moment after which the token must not be accepted; iat (issued at) is when it was created; nbf (not before) is the earliest moment it becomes valid. All three are NumericDates — seconds since the Unix epoch — which is why a raw payload looks like "exp": 1785500000 instead of a readable date. This jwt decoder online converts them to human dates automatically and badges the token expired or valid.
Other claims you will meet: iss (issuer, who created the token), aud (audience, who it is for), sub (subject, usually the user id), and jti (a unique token id useful for revocation lists). Application-specific claims — roles, permissions, tenant ids — sit alongside them as plain JSON. When debugging an auth failure, the usual suspects are an expired exp, a mismatched aud, or clock skew between the issuer and the server making nbf appear to be in the future — and that is the moment most developers first reach for a jwt decoder online.
JWT Decoder Online: What It Can and Cannot Tell You
A decoder answers one question: what is inside this token? It cannot answer is this token trustworthy? Trust requires verifying the signature with the issuer’s secret or public key — something no browser-based jwt decoder online should do, because asking for your secret would itself be a security hole. Treat any decoded output as informational, and verify signatures in your own backend or with a dedicated JWT verification tool when you need that step. Remember: a jwt decoder online is a flashlight for inspection, not a lock for security.
Two safety habits are worth building. First, never paste a live production token into any website, including this one. Although this decoder runs entirely in your browser and sends nothing anywhere, browser extensions, shared screens, and clipboard history can all leak tokens — and a JWT often grants real access. Debug with expired tokens or ones minted specifically for testing. Second, treat tokens like passwords in your own apps: keep them out of URLs and logs, give them short lifetimes, and never store secrets in the payload just because it is convenient. A jwt decoder online is a flashlight, not a lock — useful for seeing, useless for securing.
JWT Decoder: Frequently Asked Questions
What is a JWT?
A JSON Web Token is a compact, URL-safe token with three dot-separated parts: header, payload, and signature. The header names the signing algorithm, the payload carries claims like the user id and expiry time, and the signature proves the token has not been tampered with. APIs commonly issue JWTs at login and accept them as Bearer tokens on later requests, because the server can validate them without a database lookup.
Is it safe to paste my token here?
Decoding happens entirely in your browser — the token is never uploaded, stored, or logged, which makes this safer than server-side decoders. Still, best practice is to decode only test or expired tokens, because JWTs often grant real access and can leak through clipboard history, browser extensions, or screen sharing. Treat any live token like a password, regardless of which jwt decoder online decodes it.
How do I check if a JWT is expired?
Paste the token into this jwt decoder online and look at the exp claim, which the tool converts to a human-readable date with an expired-or-valid badge. The exp value is a Unix timestamp in seconds, so 1785500000 means nothing at a glance but reads clearly once converted. If the badge says expired, the token will be rejected by any correctly implemented API, and you need to request a fresh one.
What is the difference between the header, payload, and signature?
The header is JSON describing how the token is signed, mainly the alg and typ fields. The payload is JSON carrying the claims: who the token is for, when it expires, and any application data like roles. The signature is a cryptographic hash of the first two parts made with the issuer’s key, letting receivers detect tampering. Decoding reveals the header and payload; only the key holder can verify the signature.
Can a jwt decoder online verify my token’s signature?
Verifying a signature requires the secret key or the issuer’s public key, and a browser tool should never ask for those — requesting your secret would itself be a security risk. Decoding only reverses the base64url encoding to show the contents. For actual signature verification, use your backend code or the official debugger, and treat any decoder output as informational rather than proof of trust.
Related Free Tools
- Base64 Encoder/Decoder — JWT segments are base64url-encoded; encode or decode base64 in both alphabets.
- SHA-256 Hash Generator — understand the hashing behind HMAC-signed tokens.
- JSON Formatter — pretty-print and validate the JSON hiding inside any token or API response.
- All Free Tools — browse the complete collection of free online tools.
When an API hands you an opaque string at login, a reliable jwt decoder online turns it into answers in seconds: who it belongs to, when it expires, and what the server will check. This page decodes instantly, color-codes the three segments, translates every timestamp claim into a readable date with a verdict, and keeps everything in your browser. Paste responsibly — prefer test tokens — and bookmark it for your next debugging session.