A JSON Web Token is a compact, URL-safe string built from three Base64URL-encoded segments joined by dots:
header.payload.signature.
The header declares the token type and signing algorithm (for example HS256 or RS256), the payload carries
claims such as subject, issuer, roles, and timestamps, and the signature is the cryptographic proof that
the other two segments were not altered in transit.
This debugger decodes the first two segments entirely in your browser and renders them as formatted JSON,
so you can inspect the algorithm and every claim without opening a terminal. It also converts the standard
time claims into readable dates, including
iat (issued at),
exp (expiration), and
nbf (not before), and reports
whether the token is currently Expired or Valid based on the expiration claim. The signature segment is
displayed but never verified, because verification requires the HMAC secret or public key that only the
issuing server should hold.
Treat every JWT as a bearer credential: anyone holding a live token can act as that user until it expires,
so paste only test or expired tokens into any online debugger, including this one. Decoding here never
leaves your machine, but the habit keeps you safe on less careful sites. To work with related encodings,
try the Base64 Encoder/Decoder,
validate decoded payloads in the JSON Formatter & Validator,
or compare digests with the Hash Generator.