Password & Secret Generator

Generate secure, random passwords and cryptographic secrets. Customize length, character sets (uppercase, numbers, symbols), and exclude ambiguous characters. Includes a master-key / passphrase generator for extra security.

Generated Password

Customise

Presets & Secrets

Why use a secure password generator?

Weak passwords are the number one cause of security breaches. This tool uses the browser's crypto.getRandomValues() API to generate cryptographically secure random strings. Unlike simple random functions, these values are unpredictable and suitable for security-sensitive tasks like passwords, API keys, and session secrets. By using a long, complex password generated by a machine, you eliminate common patterns that hackers exploit during brute-force or dictionary attacks.

Generating secrets for Laravel and modern apps

Modern frameworks like Laravel require strong cryptographic keys. Your APP_KEY should be a 32-character random string (for AES-256-CBC encryption). This tool's "256-bit Hex Key" option provides a 64-character hexadecimal string, which is the standard representation for 32 bytes of entropy. Using this for JWT secrets or encryption keys ensures that your application's data remains protected against decryption attempts.

Frequently Asked Questions

Is this tool safe to use?

Yes. All password generation happens entirely in your browser using JavaScript. No data is sent to our servers. Once you close this page, the generated values are gone forever from memory.

What makes a password "strong"?

Strength is determined by entropy - the amount of randomness in the password. A strong password should be long (16+ characters) and use a mix of uppercase, lowercase, numbers, and special symbols. This increases the number of possible combinations, making it mathematically impossible to guess within a reasonable timeframe.

How do I generate a Laravel APP_KEY?

In your terminal, you should use php artisan key:generate. However, if you need to generate one manually for an environment file, use the "256-bit Hex Key" preset or generate a 32-character random string and prefix it with base64: after encoding it. Our "Base64 Encoder" tool can help with the encoding step.