Utilvo Studio100% Client-Side Suite
Base64url Token Inspection Engine

JWT Decoder & Debugger — Inspect Token Header, Payload & Claims

Decode JSON Web Tokens online for free. Inspect header, payload claims, exp/iat timestamps, and signature segments — 100% in-browser, nothing leaves your device.

Header · Payload · Signature Splitexp / iat Timestamp ConversionAll Standard AlgorithmsCopy Per-Segment JSON100% In-Browser Privacy
1. Token Ingestion
2. Decoded Workspace
Decoded Header (Algorithm & Token Type)
Token Algorithms will print here...
Decoded Payload (Claims & Scope Parameters)
Token claims & payload dataset will print here...
Decoded Signature & Hashing Keys
HMACSHA256( base64UrlEncode(header) + "." + base64UrlEncode(payload), secret )
Quick Start

How JWT Decoding Works

From an opaque base64url string to readable claims in three direct steps.

01

Paste the Token

Drop the full three-segment token — header.payload.signature — into the input box, or load the bundled sample token to explore the layout.

02

Read the Segments

The debugger base64url-decodes the header and payload instantly, color-coding the algorithm block, claim set, and signature buffer.

03

Check the Clock Claims

Review exp, iat, and nbf converted into your local timezone, then copy any segment as clean JSON for tests and bug reports.

Security Architecture

Utilvo In-Browser vs Cloud JWT Debuggers

Why token inspection belongs on your device — and what the trade-offs actually are.

Comparison between Utilvo and cloud-based JWT decoders
FeatureUtilvo In-BrowserCloud Decoder Sites
Token ResidencyDecoding never leaves your device — zero uploadTokens are POSTed to remote servers
Credential SafetySafe for staging and internal audience tokensBearer tokens transit third-party infrastructure
Turnaround LatencyInstant — decode on every keystrokeNetwork round-trip per inspection
Audit TrailNothing logged, nothing retainedServer-side request logs may persist
Offline CapabilityWorks fully offline once the page is loadedRequires a live connection per token
Deep Dive

Engineering Notes on Token Anatomy

What actually happens when a JSON Web Token is decoded — and what decoding can never prove.

Base64url, Not Base64

JWT segments use the URL-safe alphabet: − becomes - and + becomes _, usually without padding. The decoder normalizes these characters before atob, which is why tokens that fail in quick scripts parse fine here.

Three Segments, Three Meanings

The first dot-separated segment is the header (alg, typ, kid), the second is the claim payload (sub, iss, exp, and custom keys), and the third is the raw signature buffer — displayed verbatim, never decoded as text.

Decoding ≠ Verification

Anyone can decode a JWT — the payload is only base64url-encoded, not encrypted. Authenticity comes solely from verifying the signature with the secret or public key on your server. Never trust a decoded claim until that check passes.

Epoch Timestamps Made Human

NumericDate claims like exp and iat are seconds since the Unix epoch. The debugger converts them to your local timezone so expired-token debugging stops being mental arithmetic.

Best Practices

Pre-Flight Checklist for Token Inspection

Run through these checks whenever a JWT misbehaves in your application.

1

Count the Segments

A valid JWT has exactly three dot-separated parts. Two segments mean a truncated copy; four mean a JWS nested inside a JWE.

2

Match alg to Your Keys

Confirm the header alg is the algorithm your verifier expects — alg-confusion attacks rely on servers accepting the wrong family.

3

Check exp Against Clock Skew

Compare exp with your server clock, allowing a small leeway window; a "valid" token on one machine can be expired on another.

4

Verify Server-Side

Decoding shows structure, not truth. Validate the signature and standard claims (iss, aud, azp) in your backend before acting on them.

Analysis Reference

Standard JWT Claims Reference

The registered claim names defined by RFC 7519 that the debugger highlights most often.

Reference table of standard JWT registered claims
ClaimTypeMeaningValidated ByTool SupportCommon Gotcha
issStringIssuer that created and signed the tokenBackend allow-listDisplayedTrailing-slash mismatches between environments
subStringSubject — usually the user or service IDBackend authz checksDisplayedAssuming it equals a database UUID
audString | ArrayIntended recipient audienceBackend audience checkDisplayedMulti-audience tokens failing strict validators
expNumericDateExpiration time in epoch secondsBackend + librariesConverted to local dateClock skew between services
iatNumericDateIssued-at timestampInformationalConverted to local dateComparing iat against the wrong clock
nbfNumericDateNot-before time — token invalid earlierBackend + librariesConverted to local dateTokens rejected right after minting
Questions

Frequently Asked Questions

Everything you need to know before inspecting an access token.

1How do I decode a JWT token online for free?

Paste the raw token (the three dot-separated base64url segments) into the input box. The debugger instantly splits and decodes the header and payload, renders the signature segment, and converts exp/iat timestamps into human-readable dates — no registration or upload required.

2Does it decode all JWT signing algorithms?

Yes. Decoding is independent of the signature scheme, so HS256, RS256, ES256, PS256, and other standard algorithms all work — the alg claim is shown from the header, and the signature segment is displayed as-is.

3Does the decoder verify the signature?

No. Decoding is a plain base64url transformation and does not prove the token is authentic. Verification requires the secret or public key and must happen in your backend. Use this tool to inspect structure and claims, then validate the signature server-side before trusting any claim.

4Is it safe to paste a production token here?

Yes — the token is decoded entirely inside your browser and is never transmitted, logged, or stored. Still, treat bearer tokens as credentials: prefer decoding short-lived test tokens, and revoke or let expire anything you paste from a live environment.

5What do the exp, iat, and nbf claims mean?

exp is the expiration time after which the token is invalid, iat is the moment it was issued, and nbf is the earliest time it is valid — all expressed as seconds since the Unix epoch. The debugger converts each into a readable date in your local timezone.

6Why does my token show as invalid or fail to decode?

Most failures come from truncated tokens (copied without the final segment), added whitespace or quotes, or a malformed base64url payload. A JWT must have exactly three dot-separated segments; re-copy the full token and the decoder will parse it.

Companion Tools

Continue with Adjacent Developer Utilities

Discover complementary formatting, inspection, and conversion utilities for your auth workflow.