What is a JWT Token?
Free Online JWT Decoder
Decode any JWT token instantly. See the header, payload, claims and expiry — all in your browser.
Open JWT Decoder →What is a JWT?
A JWT (JSON Web Token) is an open standard (RFC 7519) for securely transmitting information between two parties as a compact, URL-safe string. JWTs are most commonly used for authentication — after you log in, the server issues a JWT that your browser sends with every subsequent request to prove who you are.
A JWT looks like this:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFkYSBMb3ZlbGFjZSIsImlhdCI6MTUxNjIzOTAyMn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Those three dot-separated sections are the three parts of every JWT.
The 3 parts of a JWT
Every JWT has exactly three parts, separated by dots: header.payload.signature. Each part is Base64URL-encoded.
1. Header
The header contains metadata about the token — specifically the algorithm used to sign it and the token type.
{"alg": "HS256","typ": "JWT"}2. Payload (Claims)
The payload contains the actual data — called claims. These are statements about the user and other metadata.
{"sub": "1234567890","name": "Ada Lovelace","email": "ada@example.com","roles": ["admin"],"iat": 1516239022,"exp": 1516242622}Standard claims include: sub (subject/user ID), iat (issued at), exp (expiry time), iss (issuer), aud (audience).
3. Signature
The signature verifies the token hasn't been tampered with. It's created by signing the encoded header and payload with a secret key. Without the secret, you can read the payload but can't forge a valid signature.
How to decode a JWT
You can decode any JWT instantly using the tinybench.dev JWT decoder — paste the token and see the header, payload, and expiry time decoded and formatted. Since the tool runs entirely in your browser, your tokens are never sent to any server.
How JWT authentication works
- User logs in — sends username and password to the server
- Server verifies credentials — checks the database
- Server issues JWT — creates a signed token with user info and expiry
- Client stores JWT — usually in memory or localStorage
- Client sends JWT with requests — in the
Authorization: Bearer <token>header - Server validates JWT — verifies the signature, checks expiry, reads claims
JWT vs session tokens
| Feature | JWT | Session Token |
|---|---|---|
| Stored on server? | No (stateless) | Yes (in DB or cache) |
| Scales easily? | Yes | Requires shared session store |
| Can be revoked? | Only at expiry (or with blocklist) | Yes, instantly |
| Contains user data? | Yes | No (just an ID) |
| Common use | APIs, microservices, SPAs | Traditional web apps |
Frequently asked questions
Try it now — free & private
Runs entirely in your browser. No sign-up, no uploads, no tracking.
Open JWT Decoder →