JWT Decoder
FreeDecodes a JWT header and payload into readable JSON, converts timestamp claims to human-readable dates, flags expired tokens, and can verify an HS256 signature with a secret you provide.
Runs entirely in your browser. Your token is never uploaded anywhere.
Header
Payload
Verify HS256 signature (optional)
Only works for tokens signed with HS256. Enter the secret key used to sign this token.
What this tool does
Paste a JWT (JSON Web Token) and this tool decodes its header and payload into readable JSON, converts standard timestamp claims into human-readable dates, flags whether the token has expired, and can optionally verify an HS256 signature against a secret you provide.
How It Works
A JWT consists of three dot-separated, base64url-encoded segments: a header, a payload, and a signature. This tool splits the token on its dots, base64url-decodes the header and payload segments back into JSON text, and parses them. For signature verification, it recomputes an HMAC-SHA256 over the header and payload segments using the secret you provide, via the browser's built-in Web Crypto API, and compares the result byte-for-byte against the signature segment of the token.
Problems it solves
- Inspecting what claims and algorithm a JWT actually carries, while debugging an authentication flow.
- Quickly checking whether a token has already expired without writing any code.
- Confirming that a token was signed with a specific HS256 secret, when you control that secret.
Frequently asked questions
›Does this tool verify my token is authentic?
Decoding alone does not verify authenticity, since the header and payload are only base64url-encoded, not encrypted, and anyone can read them without a key. To check whether a token was really signed by the expected party, use the optional signature verification field below, which only supports the HS256 algorithm.
›Why can this only verify HS256 signatures?
HS256 uses a single shared secret for both signing and verifying, so this tool can check a signature using only the secret you provide. RS256, ES256, and other asymmetric algorithms sign with a private key and verify with a different public key, which this tool does not collect, so verifying them safely is out of scope here.
›What do the exp, iat, and nbf claims mean?
These are standard JWT timestamp claims, all expressed as Unix time (seconds since 1970). exp is when the token expires, iat is when it was issued, and nbf ("not before") is the earliest time the token is considered valid. This tool converts each one into a readable date automatically.
›My token shows as expired, what does that mean?
It means the exp claim in the payload is a timestamp earlier than the current time, so a server correctly validating this token would reject it. This tool only checks the claim and your device clock, it does not contact any server.
›Is it safe to paste a production JWT into this tool?
The token is decoded entirely in your browser and never sent anywhere, so pasting it here is as safe as viewing it in your own browser's developer console. That said, treat any token with sensitive claims the same way you would treat a password, and avoid pasting tokens into tools you don't trust.
Related Tools
Text
JS/CSS Minifier
Shrinks JavaScript or CSS by removing whitespace and comments, with optional variable name mangling for JavaScript, and before/after size stats.
FreeText
JSON Encoder
Encodes plain text into a valid JSON string literal (escaping quotes, backslashes, and line breaks) and decodes it back, with an escape-character breakdown.
FreeText
JSON Formatter
Validates and pretty-prints or minifies a full JSON document, with adjustable indent, optional key sorting, and exact line/column error reporting.
FreeText
llms.txt Generator
Generates a llms.txt file following the llmstxt.org specification from a title, summary, and sections of links, with Optional-section grouping and a live preview.
FreeText
Markdown Previewer
Renders Markdown as live, sanitized HTML side by side with the source, with a toggle to view and copy the generated HTML.
FreeText
Mojibake (Garbled Text) Fixer
Recovers the original bytes behind garbled (mojibake) text and re-decodes them under several common encodings, showing every candidate that comes out clean.
FreeText
MySQL Syntax Validator
Validates MySQL syntax for one or more semicolon-separated statements, reporting the exact line and column of the first error found.
FreeText
Online HTML Editor
Edit HTML, CSS, and JavaScript in three panels with a live sandboxed preview that updates as you type, plus a one-click download as a standalone HTML file.
Comments (0)
Found this tool useful? Leave a comment, share a tip, or tell us how we can make it better.
No comments yet. Be the first to share your thoughts!