JWT Decoder
Paste a JWT to read its header and payload as formatted JSON and see the issued-at, not-before and expiry times as local dates with an expired badge. Decoding does not prove a token is genuine, so the tool clearly states the signature is unverified. For HMAC tokens you can verify the signature with your shared secret using the browser’s Web Crypto API.
How to use the JWT Decoder
- Paste the token (a leading "Bearer " is ignored).
- Read the header, payload and time claims.
- Check the Expired / Not expired badge.
- Optionally enter the secret and press Verify signature for HS256/384/512 tokens.
Features
- Base64URL decoding of header and payload
- Readable iat, nbf and exp with relative times
- Expired and not-yet-valid status badges
- HS256, HS384 and HS512 verification via Web Crypto
- Clear errors for malformed tokens and JWE tokens
Benefits
- Debug authentication problems quickly
- Check which claims and scopes a token carries
- Tokens and secrets stay in your browser
Frequently asked questions
Does decoding a JWT verify it?
No. Anyone can decode a JWT because the payload is only Base64URL-encoded. Only signature verification proves the token was issued by someone holding the key.
Can I verify RS256 or ES256 tokens?
Not in this tool. Those use public-key signatures and require the issuer’s public key; only HMAC (HS*) tokens with a shared secret can be checked here.
Is it safe to paste production tokens?
The token is processed only in your browser and never sent to a server. Still, treat live tokens like passwords and avoid sharing screenshots of them.
Related tools
- JSON Formatter — Beautify or minify JSON with 2-space, 4-space or tab indents, sort keys and browse it as a collapsible tree.
- JSON Validator — Check JSON syntax as you type, see the exact line and column of any error and get warnings for duplicate keys.
- XML Formatter — Pretty-print or minify XML with comments, CDATA and DOCTYPE support, plus a well-formedness check with error positions.
- HTML Formatter — Beautify HTML with your choice of indentation and line wrapping, including inline <script> and <style> blocks.
- CSS Formatter — Beautify minified CSS into readable rules with custom indentation, brace style and one selector per line.
- JavaScript Formatter — Beautify JavaScript with configurable indentation, brace style and line wrapping to make minified code readable.