Calculator
What the JWT Generator does
JWT Generator: generates Status and JWT from Payload JSON and Header alg. Example: header alg none gives status Unsigned demo JWT (alg=none), not for production.
With Payload JSON and Header alg entered, the JWT Generator works out Status and JWT. Everything recomputes live, which makes it easy to test a few scenarios in a row.
Pasting a production payload into an unknown web tool is a real risk, which is why this one stays local. The JWT Generator exists to take that particular chore off your hands.
The parsing happens in your browser, so sensitive payloads never leave your machine.
Field definitions, the method, and a worked example from the default values are all set out further down the page.
What do the JWT Generator fields mean?
The JWT Generator uses 2 inputs. It opens with a complete example loaded, which is usually the quickest way to understand what a field means.
| Field | What to enter | Default |
|---|---|---|
| Payload JSON | paste or type any amount of text | { "sub": "1234", "name": "Demo User", "iat": 1710000000 } |
| Header alg | required | none |
How does the JWT Generator work?
Each output is derived from the inputs above in a single pass; there is no hidden state carried between runs, so the same inputs always give the same generated output.
An empty or malformed field stops the calculation rather than being treated as zero.
Worked example
These are the values the JWT Generator loads by default, and the result it produces from them. The numbers below come straight from the default inputs, so you can verify them against the live tool.
| Payload JSON | { "sub": "1234", "name": "Demo User", "iat": 171000… |
|---|---|
| Header alg | none |
| Status | Unsigned demo JWT (alg=none), not for production |
|---|---|
| JWT | eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJzdWIiOiIxMjM0IiwibmFtZSI6IkRlbW8gVXNlciIsImlhdCI6MTcxMDAwMDAwMH0. |
How to use it
- Paste your content into Payload JSON.
- Enter Header alg.
- No submit step is needed; the output updates while you edit.
- Look at Status and JWT in the output panel.
- To keep the result, either copy the link or print the page. Both preserve what is on screen.
What this tool does not do
- Processing happens in your browser, so extremely large inputs are bounded by available memory.
- Output follows the common convention for this format; a specific toolchain may have its own house style.
- Comparisons across tools can differ where each uses a slightly different definition.
Frequently asked questions
Just Payload JSON and Header alg. Defaults are loaded for all of them, so nothing is mandatory before you see a result.
With the values loaded when the page opens, status comes out as Unsigned demo JWT (alg=none), not for production. Try changing one value. The answer refreshes without a page reload.
No. There is no account, no session and no storage. The values exist only while the tab is open.
It is free with no conditions: no sign-up, and no limit on how often you use it.
There is no estimation step. The result is computed, not inferred.