inyourbrowser.com

JWT decode and expiry check

Paste a JSON Web Token to decode its header and payload and see whether it has expired. The status bar counts down to the exp time, or shows how long ago the token expired, and lists exp and iat as UTC dates. All decoding runs locally in your browser.

JWT token
⚠ Signature not verified, client-side only

VIEW

Runs entirely in your browser

How it works

A JWT consists of three Base64URL-encoded parts separated by dots. The tool splits the token, fixes URL-safe base64 encoding (replacing - with + and _ with /), pads to a multiple of 4 characters, then decodes the header and payload with atob() and parses them with JSON.parse(). The signature is not decoded. All of this runs in your browser. Our servers are not involved.

Processing runs in your browser

Your JWT is decoded entirely in your browser. Our servers are not involved at any point. Treat tokens as sensitive credentials and avoid pasting production tokens in shared or public environments. You can check this yourself in your browser's DevTools Network tab.

Technical specification

JSON Web Token (JWT) is defined in RFC 7519 (IETF, 2015). A JWT consists of three Base64url-encoded sections separated by .: header, payload, and signature. Base64url encoding is defined in RFC 4648 §5, which substitutes + with - and / with _ and omits padding, making it safe for use in URLs without percent-encoding. Signed JWTs (JWS) are specified separately in RFC 7515.

Structure
header.payload.signature (3 Base64url parts)
Standards
RFC 7519 (JWT), RFC 7515 (JWS), RFC 4648 (Base64url)
Header claims
alg (algorithm), typ (token type)
Common payload claims
sub, iss, exp, iat, aud

Related operations

To inspect the raw Base64 segments of a token, try Base64. For verifying the signing input by hash, use the hash generator. To pretty-print decoded payloads, see the JSON formatter.

Frequently asked questions

How do I check if a JWT has expired?
Paste the token. If the payload has an exp claim, the status bar shows Valid · expires in … or EXPIRED … ago, worked out from your device clock, with exp and iat as UTC dates next to it.
What is the exp claim?
The exp (expiration) claim is a Unix timestamp indicating when the token expires. This tool reads that value and shows whether the token is still valid or has expired.
Why is a token marked expired when the server still accepts it?
The status compares exp with your device clock, so a clock that runs fast marks tokens expired early. RFC 7519 also lets servers allow a few minutes of leeway for clock skew, so a token a few seconds past exp can still be accepted.
What is a JWT?
A JSON Web Token (JWT) is a compact, URL-safe string used to represent claims between two parties. It consists of three Base64URL-encoded parts separated by dots: header.payload.signature.

Last reviewed September 30, 2026

Other pages for this tool

Related tools

Base64
Encode text or files to Base64, decode Base64, or convert images to data URIs.
JSON formatter
Pretty-print, minify, validate, and sort JSON keys. Instant output.
Unix timestamp
Convert between Unix timestamps and human-readable dates. Seconds or milliseconds.