Skip to content
FreeRuns in your browserFeatured

JWT Decoder

Decode JSON Web Tokens to inspect the header, payload and expiry, all without sending the token anywhere.

Use the JWT Decoder

Loading tool...

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

  1. Paste the full token (three parts separated by dots) into the input box.
  2. The header and payload are decoded and shown as formatted JSON.
  3. Check the exp, iat and nbf claims, displayed as readable dates, to see if the token has expired.
  4. Note the alg value in the header, for example HS256 or RS256.
  5. 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 UTC

Common 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: none on 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.

Your rating *

Photos or videos (optional)

Drag files here or

JPG, PNG, WebP, GIF up to 5 MB. MP4 or WebM up to 25 MB.

  • Featured

    Beautify, minify and validate JSON instantly, with exact line and column for every syntax error.

    Use tool
  • Featured

    Encode text to Base64 or decode Base64 back to readable UTF-8, including URL-safe Base64.

    Use tool
  • Featured

    Generate random v4 and time-ordered v7 UUIDs in bulk, with one-click copy and format options.

    Use tool
  • Regex Tester

    Developer

    Featured

    Test JavaScript regular expressions live, with highlighted matches, capture groups and flag toggles.

    Use tool
  • Featured

    Convert Unix timestamps to readable dates and back, in UTC or your local timezone, in seconds or milliseconds.

    Use tool
  • Turn an array of JSON objects into a clean CSV file for Excel or Google Sheets in one click.

    Use tool