About JWT Decoder
The JWT Decoder is a free jwt decoder and jwt token viewer that splits a JSON Web Token into its header and payload and pretty-prints both as readable JSON, so you can inspect claims, signing algorithms and expiry times while debugging authentication flows. It works as a client-side jwt debugger — paste a token, read every claim, done.
JWTs show up everywhere in modern auth: OAuth access tokens, API session tokens, single sign-on assertions, and custom application tokens. When a login flow breaks, an API call gets a 401, or a token expires earlier than expected, the fastest way to understand why is to actually look inside the token, and decoding base64url by hand is tedious. This tool does that instantly, and also decodes well-known time claims (exp, iat, nbf) into human-readable dates, flagging an expired token with a clear warning instead of leaving you to convert Unix time in your head. Custom claims specific to your application — roles, permissions, tenant IDs — are decoded and displayed just like standard claims, so you can confirm an access token actually carries the scopes your API expects before chasing a bug elsewhere in the stack.
It correctly handles the URL-safe Base64 alphabet that JWTs use (- and _ instead of + and /) and tolerates missing padding, both common causes of 'invalid token' errors in naive decoders. A leading 'Bearer ' prefix, often copied along with the token from an Authorization header, is stripped automatically.
Importantly, this tool decodes only — it does not and cannot verify the signature, since that requires the server's signing secret or private key. A token can be decoded and read perfectly while still being invalid, expired or tampered with; decoding tells you what a token claims, not whether those claims are trustworthy. Everything happens locally, since JWTs often carry live session credentials.
How to Use the JWT Decoder
- Paste your JWT (a 'Bearer ' prefix is stripped automatically).
- Read the decoded header and payload as formatted JSON.
- Check the time claims panel for issue and expiry dates.
Features
- Instant header + payload decoding with pretty-printed JSON
- Human-readable exp / iat / nbf dates with expiry warning
- Handles URL-safe Base64 and missing padding
- 100% client-side — tokens never leave your device
Examples
Decoding a standard JWT
Input
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Output
Header: {"alg":"HS256","typ":"JWT"}
Payload: {"sub":"1234567890","name":"John Doe","iat":1516239022}
iat → Jan 18, 2018, 01:30:22 UTCSpotting an expired token
Input
{"exp": 1000000000}Output
Expired — exp claim decodes to September 9, 2001, 01:46:40 UTC (in the past)
Frequently Asked Questions
Does this tool verify the JWT signature?
No. It decodes the header and payload so you can inspect them. Signature verification requires the signing secret or public key and should happen server-side.
Is it safe to paste a real token here?
The token is processed entirely in your browser and never transmitted. Still, treat live production tokens like passwords — avoid pasting them on shared machines.
Why does the tool say my token is invalid?
Usually because the string was truncated when copied, is missing one of its three dot-separated segments, or has a 'Bearer ' prefix pasted mid-token. Make sure you've copied the complete header.payload.signature string.
Is the JWT Decoder free?
Yes, the JWT Decoder is completely free with no usage limits. No signup, no account and no installation required.
Is my data safe?
Yes. All processing happens locally in your browser using JavaScript — nothing you type is uploaded or stored on our servers.
Related Tools
Base64 Encode/Decode
Encode text to Base64 or decode Base64 to text instantly. Free online Base64 converter — no upload, everything stays in your browser.
JSON Formatter
Format, validate and beautify JSON online. Free JSON formatter with indentation options and key sorting — runs entirely in your browser.
Timestamp Converter
Convert Unix timestamps to human-readable dates and back — auto-detects seconds vs milliseconds and shows local, UTC, ISO and relative time.
Hash Generator
Generate SHA-256, SHA-384, SHA-512 and SHA-1 hashes from text using the Web Crypto API. Fast, free and fully client-side.
User-Agent Parser
Parse a User-Agent string into browser, engine, OS and device details instantly. Free online User-Agent parser and analyzer.
HTTP Status Code Lookup
Search every HTTP status code by number, name or keyword and see what it means. Free, searchable HTTP status code reference.
Bcrypt Hash Generator / Verifier
Hash a password with bcrypt or verify a password against an existing bcrypt hash. Free online bcrypt tool, computed entirely client-side.