| Claim | Value |
|---|
| Claim | Value | Description |
|---|
| Claim | Value |
|---|
| Claim | Value | Description |
|---|
Whether you're debugging an auth flow, inspecting an access token, or double-checking an API integration, you need to see inside a JWT fast — without pasting sensitive tokens into a third-party server. I7 Pixel's decoder does it all locally, in your browser.
From a raw token string to readable claims in four quick steps.
JWTs show up everywhere in modern authentication — API access tokens, single sign-on, session identifiers. Knowing what's actually inside one helps you debug faster and spot problems before they become incidents.
A JSON Web Token is three Base64url-encoded segments joined by dots: header.payload.signature. The header typically declares the token type and signing algorithm. The payload carries the claims — the actual data, like a user ID, roles, or an expiry time. The signature is computed by signing the header and payload with a secret or private key, and it's what a server checks to confirm the token hasn't been tampered with.
Decoding a JWT just reverses the Base64url encoding to reveal the header and payload as readable JSON — anyone can do this with no key at all. Verifying a JWT is different: it means recomputing the signature with the correct secret or public key and checking it matches, which proves the token is authentic and untampered. This tool decodes tokens for inspection; it does not verify signatures, since that requires a key this tool never has.
Because the payload is just Base64url-encoded and not encrypted, anyone who intercepts a JWT can read its claims — and anyone can craft a fake token with whatever claims they like. A server must always verify the signature server-side before trusting anything in the payload. Decoding is for humans debugging; verification is what keeps a system secure.
Quick guide to the registered claim names you'll most often see in a decoded payload.
| Claim | Name | What it Represents |
|---|---|---|
| exp Popular | Expiration Time | Unix timestamp after which the token must be rejected as invalid |
| iat Popular | Issued At | Unix timestamp of when the token was created |
| nbf | Not Before | Unix timestamp before which the token must not be accepted |
| sub Popular | Subject | The principal the token is about, usually a user or account ID |
| iss | Issuer | Identifies the party that issued the token (e.g. an auth server) |
| aud | Audience | Identifies the intended recipient(s) of the token |
| alg Popular | Algorithm (header) | The signing algorithm used, such as HS256, RS256, or ES256 |
Anyone working with token-based authentication runs into a JWT they need to inspect sooner or later — this tool covers every common scenario.
Answers to the most common questions about decoding JWTs with this tool.
Yes, completely free. There are no limits, no accounts, and no charges. Decode as many tokens as you need.
No. This tool decodes and displays the header and payload of a JWT, but it does not verify the signature against a secret or public key, since that would require the signing key. It's meant for inspecting token contents, not validating authenticity.
No. All decoding happens entirely in your browser using JavaScript. Your token, and any sensitive data inside it, never leaves your device.
A JSON Web Token (JWT) is a compact, URL-safe token format used to represent claims between two parties. It consists of three Base64url-encoded parts separated by dots: a header, a payload, and a signature.
A JWT must have exactly three Base64url-encoded segments separated by periods. If a segment is missing, truncated, or contains invalid characters, the token cannot be parsed and the tool will show an error.
Yes. The decoder will still show the header and payload of an expired token, and will flag the exp claim so you can see exactly when it expired.
Tried the tool? Leave a quick rating and help others find it.
All tools at I7 Pixel run in your browser — no uploads, no accounts, always free.