🔐 Advanced Password Generator
Generate cryptographically secure passwords with full control over length, character classes, and bulk output. Everything runs locally — nothing is uploaded.
About the Advanced Password Generator
This generator uses the browser's crypto.getRandomValues() API to produce cryptographically secure random bytes, which are then mapped onto your selected character set. Unlike Math.random(), the Web Crypto random source is designed to be unpredictable and is the right choice for anything that needs to resist guessing.
What the options do
- Length — The single biggest factor in password strength. 12 characters is a sensible minimum; 16–20 is comfortable; 24+ is excellent.
- Character classes — Wider character sets raise entropy per character. Lowercase + uppercase + digits + symbols gives roughly 94 possible symbols.
- Exclude ambiguous — Removes characters that are easy to confuse by eye (O, 0, I, l, 1) — useful when passwords must be typed manually.
- No repeating characters — Guarantees every character is unique. Reduces the pool slightly but can help with picky policies.
- Number of passwords — Generate up to 50 at once so you can pick the one that's easiest to read or meets a specific policy.
How to use it
- Set the desired length with the slider.
- Tick the character classes you want included.
- Optionally exclude ambiguous characters or forbid repeats.
- Choose how many passwords to generate.
- Press Generate. Use the copy button or click any password to copy it.
Frequently asked questions
Are these passwords really random? Yes. They come from the operating system's cryptographically secure random number generator via crypto.getRandomValues(), the same source used for TLS keys.
Are they sent anywhere? No. Generation happens entirely on your device. Nothing is logged or transmitted.
Why does the strength estimate change? The estimate is log2(charsetSize) × length bits. Ticking more classes raises the charset size; making the password longer raises the multiplier.
What's a good password? Aim for at least 80 bits of entropy — roughly 12+ characters drawn from all four classes, or a passphrase of 4–5 random words. A password manager is the easiest way to store them.