security
JWT Claims Inspector: See What Your Token Is Telling You
Learn what JWT claims mean, inspect a synthetic token safely, and understand why decoding does not verify a signature, issuer, audience, or permissions.
JWT claims inspector: read the payload, not the trust decision
A JSON Web Token (JWT) is a compact format for carrying claims between systems. A common signed JWT is written as three Base64URL-encoded parts separated by periods: a header, a payload, and a signature. The first two parts are readable after decoding. That convenience can make a token look self-explanatory, but readable text is not proof of authenticity.
Try the Cloudek JWT Claims Inspector with a synthetic example. It decodes selected claims locally; it does not verify a token. Never paste a production token into an unapproved page or a shared device. A bearer token may grant access to whoever holds it, even when its payload looks harmless.
What the inspector can show
The tool splits a token into its header and payload and displays selected JSON values. The header often includes alg, the declared signing algorithm, and may include kid, a key identifier. The payload can contain registered claims and application-specific fields. The decoded view can help locate a misspelled audience, an unexpected issuer, a short expiry, or a scope name that differs from an application configuration.
It cannot establish that the three segments form a valid signed token. Decoding does not verify signature, issuer, audience, permissions, or authorization. It also does not prove that a token has not been revoked, that the key came from a trusted source, or that an API will accept it. The tool is a viewer for structure, not a validator or login simulator.
A synthetic example
The following payload is ordinary example JSON. It is not a JWT, contains no signature, and cannot authenticate to a service:
{
"iss": "https://example.test/issuer",
"sub": "synthetic-user-17",
"aud": "example-api",
"iat": 2000000000,
"nbf": 2000000000,
"exp": 2000000300,
"scope": "reports.read"
}
Read common claims carefully
issnames the claimed issuer; compare it with a trusted expected issuer.subidentifies a subject within an issuer's context, not necessarily an email address.audnames intended recipients; require the exact audience expected by the resource server.expis an expiry time in Unix seconds; check it with an allowed clock skew.nbfis the earliest acceptable time; a token can be signed but not yet usable.iatrecords issue time, but does not alone establish freshness or authorization.jtimay identify a token; it does not prove a revocation list exists.scopeandrolesdepend on issuer and server policy; visible text grants nothing by itself.
A safe troubleshooting workflow
Start with a test token created for a development tenant and a non-production application. Confirm that the token came from the expected test flow, then decode it locally and inspect only the fields needed to diagnose the issue. Compare the audience, issuer, tenant context, time claims, scope, and roles with the application configuration and the request being tested. Record sanitized observations, such as “the expected scope is absent,” instead of copying the entire token into a ticket.
When a token is actually rejected, use the application's approved logs and validation library to find the cause. Check whether the signature validates using keys fetched from the trusted issuer's metadata, whether the algorithm is on an explicit allowlist, whether iss and aud match exactly, and whether exp and nbf are acceptable. Then evaluate scopes or roles against the requested operation. These checks are separate. A valid signature does not automatically grant permission, and a visible permission claim does not make an invalid signature acceptable.
Why a decoded payload can mislead
JWT payload decoder displays JSON Web Token claims for access token troubleshooting; it never performs JWT signature verification or determines authorization for receiving services by itself.
Protect the token while investigating
Prefer synthetic values in training and screenshots. For production incidents, use only an organization-approved diagnostic environment with access controls, retention rules, and a clear reason to inspect the token. Do not paste the full bearer value into public decoder websites, issue trackers, chat rooms, browser extensions, or a shared workstation. Minimize fields in notes, redact unique identifiers, and follow your incident policy if the token has already been copied outside its approved boundary.
For standards context, see RFC 7519, JSON Web Token, which defines the format and registered claims; RFC 8725, JSON Web Token Best Current Practices, which discusses algorithm and validation pitfalls; and RFC 9068, the JWT Profile for OAuth 2.0 Access Tokens, which specifies a profile for that particular token use. The profile is not a universal contract for every JWT.
Use a claims inspector to understand structure and find a configuration clue. Make trust decisions only in the system that is responsible for verifying the token, checking its intended recipient, and authorizing the requested action. Keep those boundaries separate, and keep the token itself private.