Skip to content

Choose your path

Built around the job you need to finish

Strictly Base64URL- and UTF-8-decode the exact header and payload JSON text of one authorized compact JWT/JWS fixture while preserving a visible boundary that no signature, claim, time, authorization or trust validation occurred.

Application developer inspecting a synthetic test token

See exact decoded header/payload text without a secret verifier or generator distracting from parsing evidence.

Paste a non-production three-segment fixture, inspect strict errors/raw JSON and save the four-field Project record.

Can reproduce segment decoding without calling the claims valid.

Security or identity reviewer

Prevent alg, issuer, audience, subject, time and authorization claims from being trusted before application validation.

Exercise alg=none, malformed segments, wrong JSON types and time claims while retaining the unverified boundary.

No green validity badge, credential input or decoder-only authentication conclusion remains.

Privacy, accessibility or incident reviewer

Avoid exposing live tokens and operate long encoded text/errors/results on keyboard and narrow screens.

Use authorized redacted fixtures, labeled controls, inert raw-text output and Project save; never paste a live credential.

Completes local inspection without secret collection, unnamed controls or horizontal page overflow.

Was this tool helpful?

Reference & details

How it works

Strict compact parsing

The Tool expects exactly three dot-separated segments, bounds the token length, rejects whitespace, validates the unpadded Base64URL alphabet and uses fatal UTF-8 decoding.

Exact text plus bounded convenience

Header and payload must each decode to a JSON object. Exact decoded text remains visible; JSON.parse output and NumericDate rendering are convenience observations with explicit mutation and trust limits.

Decode-only trust boundary

The page contains no secret input, signature verifier, URL token extractor, or JWT generator. Validation belongs in the exact application boundary with current protocol-library policy.

Updated: August 2026

Example Scenarios

Parse a non-production JWT test vector to review its segment structure, claim names, value types, and encoded signature without treating the claims as verified.

Use authorized fixtures around expiry, not-before, issued-at, clock-skew, and missing-claim boundaries, then reproduce the application's own validation separately.

A security reviewer tests alg=none, invalid Base64URL, malformed UTF-8, non-object JSON and time boundaries while confirming no claim is labeled valid.

FAQ

No. Base64url decoding only reveals attacker-controlled bytes. Authentication requires the correct cryptographic verification plus issuer, audience, time, key, algorithm, replay, authorization, and application-policy checks.

No. The focused Decoder never asks for a key or secret and performs no cryptographic operation. Use the application's maintained protocol library with an explicit algorithm allowlist and trusted key source.

No. Use synthetic or explicitly authorized non-production fixtures. Browser extensions, clipboard history, device policy, screenshots, URLs, logs, or surrounding systems can expose credentials even when parsing runs locally.

They only render a finite NumericDate against this browser's clock. They are always labeled unverified and do not establish signature, clock policy, leeway, issuer, audience, or acceptance.

The exact decoded JSON text is preserved. Any parsed convenience view uses JSON.parse, which may keep only the last duplicate name or change precision-sensitive numeric values.

About JWT Decoder

Strictly decode the exact UTF-8 JSON text in an authorized non-production compact JWT/JWS fixture. No signature, key, algorithm, issuer, audience, time, authorization, or trust validation occurs here.