JWT Generator & Decoder

Generate synthetic HS256 JWTs or decode JWT header and payload sections locally in your browser.

Mode
Safety note: Use synthetic secrets only. Do not paste production JWT signing secrets into browser tools you do not control.

Minimum 16 characters. This secret is used only in the current browser session to sign a synthetic HS256 token.

Payload claims

Optional JSON object only. Reserved claims controlled above cannot be overridden by custom claims.

What is a JWT?

A JSON Web Token is a compact token format commonly used to carry claims between systems. A signed JWT has three dot-separated sections: a header, a payload, and a signature. The header and payload are encoded as Base64URL text, which means they are easy to decode and inspect.

How JWTs work

JWTs usually carry claims such as the subject, issuer, audience, issued-at time, expiration time, and token identifier. A receiving system can verify the signature and validate those claims before trusting the token. This browser tool can generate synthetic HS256 tokens and decode token contents, but it does not act as an authentication service.

JWT header, payload, and signature

The header describes the token type and signing algorithm. The payload contains claims. The signature is created from the encoded header and payload plus a secret or key. For HS256, the signature uses HMAC with SHA-256 and a shared secret.

HS256 explained

HS256 means HMAC-SHA-256. It uses the same secret to sign and verify a token, so that secret must be kept private. For production systems, signing should happen on trusted server-side infrastructure with managed secrets, rotation, and access controls.

JWT decoding vs verification

Decoding a JWT only reads the Base64URL-encoded header and payload. It does not prove the token came from a trusted issuer and does not prove the signature is valid. A decoded JWT may be forged, expired, or intended for a different audience.

Common JWT claims

API testing
Create synthetic HS256 tokens for local API fixtures and integration tests.
JWT inspection
Decode header and payload JSON to understand token structure during debugging.
Documentation
Create realistic-looking sample tokens without using production issuers or secrets.
Claim examples
Experiment with common claims such as sub, iss, aud, iat, exp, and jti.

JWT expiration

The exp claim is a Unix timestamp that tells a verifier when a token should no longer be accepted. This tool can display whether a decoded exp value appears to be in the past, but that timing display is based only on decoded data and is not a trust decision.

Are JWTs encrypted?

Signed JWTs are not confidential. Anyone with the token can decode the header and payload. Do not place secrets, passwords, private keys, or sensitive personal information in a JWT payload unless your architecture uses proper encryption and access controls.

Safe JWT handling

Use this tool for development, testing, demos, and sample data. Do not paste production signing secrets into untrusted tools. Production authentication should use established server-side JWT libraries, strict algorithm allowlists, short expirations, issuer and audience validation, and secure secret management.

Privacy

JWT generation and decoding happen entirely in your browser. The tool does not upload your token, payload, signing secret, or decoded data, and it does not save those values in local storage, session storage, cookies, analytics events, or URL parameters.

Frequently Asked Questions

What is a JWT?
A JWT is a JSON Web Token: a compact text token made of a header, payload, and signature separated by dots.
Is a JWT encrypted?
Usually no. Standard signed JWTs are Base64URL encoded and signed, not encrypted, so the header and payload can be decoded by anyone.
Can anyone decode a JWT?
Yes. Anyone with the token can decode the header and payload. Decoding does not require the signing secret.
Does decoding verify a JWT?
No. This tool only decodes JWT sections. It does not verify the signature, issuer, audience, or trustworthiness of a token.
What is HS256?
HS256 is HMAC using SHA-256. It signs a JWT with a shared secret that must remain private in production systems.
What is the JWT signing secret?
The signing secret is the shared private value used to create an HS256 signature. Production secrets should be managed server-side.
Can I use this generated JWT in production?
Use this tool for development, demos, and sample data. Production JWTs should be generated by established server-side libraries and secure secret management.
What do iat, exp, iss, aud, and sub mean?
iat is issued at, exp is expiration, iss is issuer, aud is audience, and sub identifies the subject represented by the token.
Does this tool upload my JWT or secret?
No. JWT generation and decoding run in your browser. The tool does not upload, store, log, or place your input in URLs.
Why does a JWT have three parts?
The three parts are the Base64URL-encoded header, Base64URL-encoded payload, and signature segment.
Can a JWT be changed after it is signed?
The text can be edited, but changing the header or payload invalidates the signature unless the token is signed again with the correct secret.
How do I know whether a JWT is expired?
If the decoded exp claim is a numeric date in the past, the token appears expired, but that timing check does not verify authenticity.