Free Online JWT Decoder & Inspector
Decode and inspect JSON Web Token headers, claims, expiration, and payload data.
191 characters · 1 words · 191 bytes (UTF-8)
Output will appear here
Click in the output to select all text
Related tools
JWT Token Generator (HS256)
Construct and sign a JSON Web Token using HS256 algorithm and a secret key.
HMAC Generator (All Algorithms)
Generate HMAC signatures using SHA-256, SHA-512, SHA-1, or MD5 with a secret key.
Base64URL Encode / Decode
URL-safe Base64 encoding and decoding without padding or special URL characters.
SSL / X.509 Certificate Info Decoder
Decode and inspect PEM-encoded X.509 certificates (subject, issuer, validity, SANs).
This JWT decoder breaks a JSON Web Token into its header, payload, and signature components and displays the decoded claims in readable JSON, instantly in your browser. JWTs are the standard bearer-token format for stateless authentication and API authorization, encoding claims like the subject, issuer, expiration, and custom application data inside a Base64URL-encoded, dot-separated string — decoding one is essential when debugging why a login is failing, checking token expiration, or inspecting what data an API is actually embedding in its access tokens. Backend and frontend developers debugging auth flows, API integrators inspecting third-party tokens, and security reviewers auditing what claims a token exposes will all find this decoder immediately useful. Because JWTs frequently carry sensitive claims — user IDs, roles, sometimes more than they should — every part of the decoding happens locally in your browser via JavaScript; your token is never transmitted to, logged by, or stored on any server. There's no signup and decoding is instant as you paste. Note this tool decodes and displays claims but does not verify the cryptographic signature; if you need to construct and sign a new token, use this platform's JWT generator. Scroll down to decode your JWT now.
Features
- Splits any JWT into header, payload, and signature segments
- Decodes Base64URL-encoded JSON for both header and payload
- Highlights standard claims like exp, iat, iss, and sub
- Human-readable expiration timestamp conversion
- Fully client-side decoding, no server transmission
- One-click copy of decoded JSON
- Syntax-highlighted, formatted output
- Works with tokens signed using any algorithm (HS256, RS256, etc.)
Why use this jwt decoder (header, payload, signature)?
- Instant decoding with no delay
- Fully private — your token never leaves your browser
- Clear, structured view of header, payload, and signature
- Fast way to debug expired or malformed tokens
- Free to use with no signup or limits
Frequently asked questions
Is it safe to decode a JWT in an online tool?
It's safe with this tool specifically because decoding happens entirely in your browser and the token is never sent to a server — but be cautious with any tool where you can't verify that, since JWTs often contain sensitive claims.
Does decoding a JWT verify its signature?
No, decoding only reveals the header and payload content; verifying the signature requires the correct secret key or public key and confirms the token hasn't been tampered with.
Can anyone read the contents of a JWT?
Yes, standard JWTs are only Base64URL-encoded, not encrypted, so anyone with the token can decode and read its claims — never put secret data directly inside a JWT payload.
What does the 'exp' claim mean?
The 'exp' (expiration) claim is a Unix timestamp indicating when the token becomes invalid; servers should reject any JWT presented after this time.
What's the difference between the JWT header and payload?
The header specifies metadata like the signing algorithm and token type, while the payload contains the actual claims — the data about the user or session the token represents.
Why does my decoded JWT show garbled or invalid JSON?
This usually means the token was truncated, modified, or isn't a valid JWT at all — double-check you copied the complete three-part, dot-separated string.
Can I use this tool to check if a JWT is expired?
Yes, decoding shows the 'exp' claim converted to a human-readable date, so you can quickly see whether a token has already expired.