Password Generator
Generate cryptographically secure, random passwords. Customize length, character sets, and options. Completely private — passwords are generated in your browser and never leave your device.
How to Use This Generator
Everything you can do and how to get the most secure password for your use case.
What Makes This Generator Different
crypto.getRandomValues() — the browser's cryptographically secure RNG, not the predictable Math.random(). The same source used in TLS and encryption.Frequently Asked Questions
Yes, as long as the tool generates the password locally using a cryptographically secure source of randomness and never transmits it. This generator uses the Web Crypto API (crypto.getRandomValues) which is standardized, cryptographically secure, and runs entirely in your browser. The password is never sent to any server, stored in a database, or logged anywhere. You can verify this by turning off your internet connection before generating — it still works because everything happens locally.
A weak password is short, uses only common characters, follows predictable patterns (like "Password1!"), or appears in breach databases. A strong password is long, random, uses a wide character set, and has no connection to anything about you. The key insight is that length matters more than complexity — a 20-character lowercase password is harder to crack than an 8-character password with special characters. The strongest passwords combine both: long AND diverse character sets.
Yes, absolutely. When a website gets breached, attackers use the leaked passwords in "credential stuffing" attacks on other sites — trying the same email/password on hundreds of other services automatically. If you reuse passwords, one breach compromises multiple accounts. The practical solution is to use a password manager (Bitwarden, 1Password, KeePass) to store a unique strong password for every account. Generate one here, save it in your manager, and move on. You only need to remember one master password.
Ambiguous characters (O, 0, l, 1, I) look similar in many fonts and are easy to confuse when reading a password printed on paper, written on a sticky note, or shown in a screen share. If you need to communicate a password verbally or write it down, enabling "Exclude ambiguous" means you'll never have to say "that's the number one, not lowercase L." For passwords stored in a password manager that you'll always copy-paste, this setting doesn't matter.
Entropy (in bits) measures how many random possibilities your password has. Higher entropy = more guesses required = harder to crack. The formula is: entropy = length × log₂(pool_size). For example, 16 characters from a pool of 94 (upper + lower + digits + symbols) gives about 105 bits of entropy. General guidelines: 40 bits = weak, 60 bits = acceptable, 80 bits = strong, 100+ bits = very strong. Modern computers can attempt billions of guesses per second against hashed passwords, so 60+ bits is the practical minimum for anything important.
No-duplicates mode reduces the entropy slightly because it constrains the possibility space — each character can only appear once. For long passwords this effect is negligible, but for short passwords it can meaningfully weaken the password. For example, a 16-character password from a 94-character pool with no duplicates has slightly fewer possible combinations than one with duplicates allowed. Only use no-duplicates if you have a specific policy requirement — it's not a security improvement.
1. Copy it immediately with the Copy button. 2. Paste it directly into a password manager (Bitwarden, 1Password, KeePass, etc.) — don't type it somewhere else first. 3. Use it on the target website. 4. Never write it on paper or in a plaintext file. If you must write it down, store it in a physically secure location. Never send a password over email, SMS, or chat. If you accidentally share it, change it immediately.
Yes. Set the length to 32, 48, or 64 characters, enable all character sets (or just lowercase + digits for URL-safe tokens), and generate. The Web Crypto API source makes this suitable for generating application secrets, session tokens, API keys, salt values, and other security-sensitive strings. For hex-format tokens specifically, you can limit to digits + a-f characters by enabling only lowercase and digits, then excluding g-z. For base64-compatible secrets, all alphanumeric characters plus + and / work well.