Skip to main content

JWT Secret Key Generator

Generate cryptographically secure secret keys specifically optimized for JSON Web Token (JWT) authentication. This tool ensures your backend remains protected against brute-force attacks by providing keys that meet or exceed industry standard entropy requirements.

The app demonstration: JWT Secret Key Generator


Core Features

  • High-Entropy Generation: Utilizes OS-level cryptographic randomness to generate keys that are statistically impossible to guess or brute-force.
  • Format Flexibility: Support for the three most common encoding standards used in modern web development:
    • HEX: Standard for Python/FastAPI and many C-based systems.
    • Base64 (URL Safe): The standard for Node.js, Go, and web-header implementations.
    • Alpha-Numeric String: Maximum character variety including symbols for high-density entropy.
  • Real-time Entropy Meter: A visual power meter that calculates the actual "bits of entropy" based on your selected length and encoding format.
  • Developer Workflow Integration: * Copy for .env: Instantly formats the key as JWT_SECRET_KEY="your_key".
    • Session History: Keeps track of your last 3 generated keys in the current session so you never lose a secret by accident.
  • Massive Length Support: Adjustable slider ranging from 8 up to 512 characters to support everything from simple dev setups to military-grade HSM requirements.

Technical Limits & Requirements

The service is built with a focus on backend security and developer efficiency.

  • Minimum Length: A minimum of 8 characters is enforced, though 32 (256 bits) is recommended for production HS256 use.
  • Maximum Length: Capped at 512 characters to ensure compatibility with standard environment variable buffer limits while providing maximum security.
  • Stateless Security: Keys are generated via the API and never stored on the server. The "Recent Keys" history is stored only in your browser's sessionStorage and is wiped when you close the tab.
  • API Endpoint: This tool uses a dedicated high-security endpoint: /generate-jwt-secret.

Recommendation Table

AlgorithmRecommended Min. LengthRecommended Format
HS25632 CharsHEX or Base64
HS38448 CharsHEX or Base64
HS51264 CharsHEX or Base64

API Reference

You can bypass the UI and generate secrets directly via our public API for use in automation scripts, Docker setups, or local development.

Endpoint

GET https://random-letters-generator.vercel.app/generate-jwt-secret

Query Parameters

ParameterTypeDefaultDescription
lengthint32The number of characters to generate (8 to 512).
formatstrhexOutput encoding: hex, base64, or string.

Example Usage (cURL)

# Generate a 64-character Hex secret
curl "https://random-letters-generator.vercel.app/generate-jwt-secret?length=64&format=hex"

JSON Response Schema

{
"key": "70baa9ec43504f3e9e5a...",
"env_format": "JWT_SECRET_KEY=\"70baa9ec43504f3e9e5a...\""
}


Python Integration Example

Since your backend is built with FastAPI, here is how you can consume your own API programmatically:

import requests

def get_new_secret(length=64):
url = "https://random-letters-generator.vercel.app/generate-jwt-secret"
params = {"length": length, "format": "hex"}
response = requests.get(url, params=params)
return response.json().get("key")

# Usage
MY_SECRET = get_new_secret()
print(f"Generated Secret: {MY_SECRET}")