🔑

JSON Web Key Generator — JWK Creation Tool

Generate JSON Web Keys (JWK) for RS256, ES256, HS256 and other JWT signing algorithms. Produces public/private key pairs and ready-to-use JWKS endpoint JSON for RSA, ECDSA, and HMAC algorithms. All keys are generated locally in your browser using the Web Crypto API — nothing is sent to any server.

Security ToolsPrivacy & Security
Loading tool...

How to Use JSON Web Key Generator — JWK Creation Tool

How to Use the JSON Web Key (JWK) Generator

Step 1: Choose an Algorithm

Select one of the nine supported JWT signing algorithms:

RSA algorithms (asymmetric — public/private key pair):

  • RS256 — RSA + SHA-256. Most common for JWTs. Well-supported across all platforms and libraries.
  • RS384 — RSA + SHA-384. Stronger hash, still RSA.
  • RS512 — RSA + SHA-512. Strongest RSA option.

EC algorithms (asymmetric — compact key pair):

  • ES256 — ECDSA P-256 + SHA-256. Compact keys, faster than RSA, recommended for modern systems.
  • ES384 — ECDSA P-384 + SHA-384.
  • ES512 — ECDSA P-521 + SHA-512.

HMAC algorithms (symmetric — shared secret):

  • HS256 — HMAC-SHA256. Single secret key used for both signing and verification.
  • HS384 — HMAC-SHA384.
  • HS512 — HMAC-SHA512.

Step 2: Configure Key Options

RSA Key Size (RSA algorithms only):

  • 2048 bits — Recommended. Good security with fast generation.
  • 3072 bits — Higher security, slightly slower.
  • 4096 bits — Maximum security. May take 5–10 seconds to generate.

Use — Sets the use claim in the JWK:

  • sig — Key is intended for signing and verification (most common for JWTs).
  • enc — Key is intended for encryption and decryption.

Key ID (kid) — A unique identifier for the key, included in the kid JWK claim. Auto-generated as a random hex string. You can edit it to match your naming convention (e.g., my-key-2024, signing-key-v1). Click the refresh button to generate a new random kid.

Step 3: Generate Keys

Click Generate Keys. For RSA algorithms, generation may take a moment (especially at 4096 bits). For EC and HMAC, generation is near-instant.

Step 4: Use the Output

For RSA and EC algorithms, three tabs are available:

  • Public Key — Share this publicly. Used by consumers to verify JWT signatures. Host this in your JWKS endpoint.
  • Private Key — Keep this secret. Used by your server to sign JWTs. Store in a secrets manager or environment variable.
  • JWKS — A complete { "keys": [...] } JSON object containing the public key. Ready to serve at your /.well-known/jwks.json endpoint.

For HMAC algorithms, two tabs are available:

  • Secret Key — The symmetric key. Keep this secret — it is used for both signing and verification.
  • JWKS (⚠ symmetric) — The JWKS format of the secret key. Warning: never expose HMAC keys in a public JWKS endpoint.

Click Copy to copy the current tab's content to your clipboard.

Security Notes

  • Never commit private keys or HMAC secrets to source control. Store them in environment variables, AWS Secrets Manager, HashiCorp Vault, or similar.
  • HMAC keys must stay private. Unlike RSA/EC, anyone with the HMAC key can forge tokens.
  • Rotate keys periodically. Use the kid field to support multiple active keys during rotation.
  • All keys are generated entirely in your browser using the Web Crypto API. Nothing is transmitted to any server.

Frequently Asked Questions

Most Viewed Tools

🔐

TOTP Code Generator — 2FA Testing Tool

3,202 views

Generate time-based one-time passwords from a TOTP secret key. Enter your base32 secret, choose a period and digit length, and get the current and next codes with a live countdown timer. Useful for testing and debugging 2FA integrations.

Use Tool →
{ }

JSON to Zod — Schema Generator

3,156 views

Generate Zod validation schema code from a JSON sample object. Infers z.string(), z.number(), z.boolean(), z.array(), z.object(), and z.null() types automatically. Handles nested objects, arrays of objects with optional field detection, and outputs copy-ready TypeScript with import and z.infer type alias.

Use Tool →
{}

JSONL Formatter — Line-by-Line Validator

3,100 views

Format, validate, and inspect JSON Lines (JSONL) and NDJSON files. Validates each line individually, reports parse errors by line number, outputs compact JSONL or a pretty-print preview, and lets you download the cleaned file.

Use Tool →
🔐

TLS Cipher Suite Checker — Strength Analyzer

2,792 views

Check TLS protocol version compatibility and cipher suite strength ratings against current best practices. Supports IANA and OpenSSL cipher names — rates each suite as Strong, Weak, or Deprecated and explains why.

Use Tool →
🔑

Password Entropy Calculator — Crack Time Estimator

2,746 views

Calculate the information-theoretic bit entropy of any password or API key. Detects character set pools automatically, shows the total number of possible combinations, and estimates crack time across five attack scenarios from rate-limited web logins to GPU cracking clusters.

Use Tool →
🔍

Secret Scanner — API Key & Credential Detector

2,710 views

Scan pasted text, code, or config files for accidentally exposed API keys, tokens, passwords, and private keys. Detects 50+ secret types across AWS, GitHub, Stripe, OpenAI, and more — all client-side, nothing leaves your browser.

Use Tool →
📺

Screen Size Converter — Diagonal Dimension Tool

2,645 views

Calculate screen width and height from diagonal size and aspect ratio. Convert between inches and centimeters for displays, TVs, and monitors with instant dimension calculations.

Use Tool →

TOML Config Validator — Syntax Error Finder

2,446 views

Validate TOML configuration file syntax and report errors with line numbers. Paste any TOML content — Cargo.toml, pyproject.toml, config.toml — and instantly see a green checkmark with key counts and structure stats, or a precise error message pointing to the exact line. Includes a collapsible JSON structure preview to confirm what was parsed.

Use Tool →

Related Privacy & Security Tools

🔐

API Key Hasher — Secure Storage Tool

Hash API keys using SHA-256, SHA-512, or PBKDF2 before storing them in your database. Generates a Node.js verification snippet and shows the recommended storage format — all 100% client-side using the Web Crypto API.

Use Tool →
🛡️

PGP Key Generator — Browser-Based Key Pair Tool

Generate PGP public and private key pairs for email encryption and code signing. Supports ECC (Curve25519) and RSA up to 4096-bit. Entirely browser-side — keys never leave your device.

Use Tool →
🔐

TOTP Code Generator — 2FA Testing Tool

Generate time-based one-time passwords from a TOTP secret key. Enter your base32 secret, choose a period and digit length, and get the current and next codes with a live countdown timer. Useful for testing and debugging 2FA integrations.

Use Tool →
🔑

OAuth 2.0 Scope Builder — Permission String Tool

Build and decode OAuth 2.0 scope strings for Google, GitHub, Stripe, and custom providers. Toggle permissions with risk indicators, generate ready-to-use scope strings, and decode existing scope strings to understand what access they grant.

Use Tool →
🔐

TLS Cipher Suite Checker — Strength Analyzer

Check TLS protocol version compatibility and cipher suite strength ratings against current best practices. Supports IANA and OpenSSL cipher names — rates each suite as Strong, Weak, or Deprecated and explains why.

Use Tool →
🔐

IP Allowlist Generator — Firewall Rule Builder

Generate ready-to-paste IP allowlist and blocklist rules for nginx, Apache, iptables, UFW, and AWS Security Groups. Enter IP addresses or CIDR ranges, select your target platform, and get production-ready firewall config instantly.

Use Tool →
🔑

Password Entropy Calculator — Crack Time Estimator

Calculate the information-theoretic bit entropy of any password or API key. Detects character set pools automatically, shows the total number of possible combinations, and estimates crack time across five attack scenarios from rate-limited web logins to GPU cracking clusters.

Use Tool →
🔒

Content Security Policy Generator — XSS Shield Builder

Build Content Security Policy headers interactively. Toggle directives like script-src, style-src, and img-src, select allowed source tokens, and add custom origins. Instantly outputs your CSP as an HTTP header, meta tag, Nginx directive, or Apache header.

Use Tool →

Share Your Feedback

Help us improve this tool by sharing your experience

We will only use this to follow up on your feedback