What is the JWT Decoder?
A JSON Web Token (JWT, RFC 7519) is a compact string used to carry claims between parties, most often as a bearer token for API authentication. It has three Base64URL-encoded parts separated by dots: the header (algorithm and token type), the payload (claims such as the subject and expiry) and the signature.
Decoding a JWT is simply reversing the Base64URL encoding; no secret is needed, which also means the payload is readable by anyone who holds the token. Never place passwords or sensitive personal data in a JWT. Decoding does not prove a token is genuine: only verifying the signature with the correct key does that, and this should always happen on your server.
When to use the JWT Decoder
Decode a token when authentication fails and you need to know why: is the token expired, issued for a different audience, missing a role claim, or signed with an unexpected algorithm? Frontend developers use it to check which user data a login response contains, backend developers to confirm that the right claims are being issued, and security reviewers to look for sensitive data that should not be in a token. Always follow decoding with proper signature verification in the service that trusts the token.
How to use the JWT Decoder
- Paste the full token (three parts separated by dots) into the input box.
- The header and payload are decoded and shown as formatted JSON.
- Check the
exp,iatandnbfclaims, displayed as readable dates, to see if the token has expired. - Note the
algvalue in the header, for exampleHS256orRS256. - Use the information to debug authentication problems; verify the signature in your backend.
Examples
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTYiLCJuYW1lIjoiQWRhIiwiZXhwIjoxNzk4NzYxNjAwfQ.signature
Header: { "alg": "HS256", "typ": "JWT" }
Payload: { "sub": "123456", "name": "Ada", "exp": 1798761600 }
exp: 2027-01-01 00:00:00 UTCCommon errors and tips
- Token expired: compare
exp(seconds since epoch, not milliseconds) with the current time, and allow for small clock skew between servers. - Invalid token format usually means a missing part or a stray "Bearer " prefix copied with the token.
- Reject tokens with
alg: noneon your server; always enforce the expected algorithm. - Keep payloads small: tokens are sent with every request.
- Treat real production tokens as passwords; avoid pasting them into tools that upload data.
Privacy: runs entirely in your browser
This is especially important for tokens: decoding happens entirely in your browser, and your JWT is never transmitted, logged or stored. This tool runs entirely in your browser: nothing you enter is uploaded, stored or logged on our servers, and it keeps working even if you go offline after the page has loaded.
Frequently asked questions
Does decoding a JWT verify it?
No. Decoding only reads the contents. Verification requires checking the signature with the secret or public key, which should be done on your server.
Is it safe to paste my JWT here?
This decoder works fully in your browser and sends nothing over the network. Even so, avoid sharing live production tokens anywhere you do not trust.
What do exp, iat and nbf mean?
exp is when the token expires, iat when it was issued and nbf the time before which it must not be accepted, all as Unix timestamps in seconds.Why is the payload readable by everyone?
JWTs are encoded, not encrypted. Anyone with the token can read its claims. Use JWE if you need confidentiality.
What is the difference between HS256 and RS256?
HS256 uses one shared secret for signing and verifying. RS256 uses a private key to sign and a public key to verify, which suits distributed systems.
Ratings & reviews
–
0 reviews
- 5 star
- 0 reviews (0%)
- 4 star
- 0 reviews (0%)
- 3 star
- 0 reviews (0%)
- 2 star
- 0 reviews (0%)
- 1 star
- 0 reviews (0%)
No reviews yet — be the first to share your experience.
Write a review
Reviews are moderated before they appear.
Related tools
Beautify, minify and validate JSON instantly, with exact line and column for every syntax error.
Use toolEncode text to Base64 or decode Base64 back to readable UTF-8, including URL-safe Base64.
Use toolGenerate random v4 and time-ordered v7 UUIDs in bulk, with one-click copy and format options.
Use toolTest JavaScript regular expressions live, with highlighted matches, capture groups and flag toggles.
Use toolConvert Unix timestamps to readable dates and back, in UTC or your local timezone, in seconds or milliseconds.
Use toolJSON to CSV Converter
Developer
Turn an array of JSON objects into a clean CSV file for Excel or Google Sheets in one click.
Use tool
