Password Generator
Generate secure random passwords instantly. Customize length, character types, and exclusions. Uses Web Crypto API for true cryptographic randomness, no data sent to servers.
How Password Security Works
Password entropy is a measure, in bits, of how unpredictable a password is. Each additional character exponentially increases the number of possible combinations an attacker must try.
NIST's Digital Identity Guidelines (SP 800-63B) set a minimum length of 8 characters for memorized secrets, but 16+ characters is a stronger, more practical baseline for the accounts this tool generates passwords for.
Weak (<60 bits)
Vulnerable to brute-force attacks. Avoid for important accounts.
Medium (60-80 bits)
Moderate protection. Acceptable for low-risk accounts.
Strong (80-100 bits)
Good protection. Resistant to brute-force for years.
Very Strong (100+ bits)
Excellent protection. Effectively uncrackable with current technology.
Cryptographic Security
This tool uses the Web Crypto API (crypto.getRandomValues), which provides the same level of randomness used by browsers for TLS/SSL connections. Unlike Math.random() which is predictable, the Web Crypto API draws from the operating system's cryptographically secure random number generator.
Character Sets Used in This Generator
Each character type you enable adds its full set to the pool the generator draws from. With all four types on, the pool has 88 possible characters per position, which is what drives the entropy score: more characters per position means more guesses an attacker needs to try.
Lowercase + Uppercase (52)
a-z and A-Z, 26 characters each. The largest contributor to the pool when both are enabled.
Numbers (10)
0-9. Adds the least entropy per character of any set, so numbers-only passwords need to be much longer to stay secure.
Symbols (26)
!@#$%^&*()_+-=[]{}|;:,.<>?: the biggest entropy boost per character, since it roughly doubles the pool size versus letters alone.
Exclusion filters
"Exclude Similar" removes 7 look-alike characters (i, l, 1, L, o, 0, O). "Exclude Ambiguous" removes 18 characters that render oddly in some fonts, such as brackets, quotes, and slashes.
Roughly how long would a password take to crack?
Entropy bits are abstract, so here is what they mean in practice. These figures assume an offline brute-force attack against an unsalted hash at 10 billion guesses per second, a commonly cited estimate for a well-resourced GPU rig. A properly salted, slow hash (bcrypt/Argon2, see the Hash Generator page) pushes these numbers up by many orders of magnitude, this table is meant to show why length and character variety matter, not to predict an exact real-world time.
| Length | Letters + numbers only | Letters + numbers + symbols |
|---|---|---|
| 8 characters | ~3 hours | ~2 days |
| 12 characters | ~5,100 years | ~340,000 years |
| 16 characters | ~75 billion years | ~20 trillion years |
| 20 characters | longer than the age of the universe, many times over | longer than the age of the universe, many times over |
Common Use Cases
Best practices: Generating a strong password is only half the job of staying secure.
- Never reuse a password across two or more accounts, a breach on one site can then be replayed everywhere else.
- Store passwords in a dedicated manager (Bitwarden, 1Password, Apple Keychain), not in browser autofill notes or plain text files.
- Turn on two-factor authentication (2FA) wherever it is offered, it protects you even if a password ever leaks.
- Rotate passwords immediately after any data breach notice for a service you use, not on a fixed schedule otherwise.
See our guide on how to create a strong password for more on why length beats complexity.
Frequently Asked Questions
How secure are these passwords?▾
Should I save my passwords?▾
What makes a password strong?▾
Why exclude similar characters?▾
How long should my password be?▾
Are passwords stored or sent anywhere?▾
What password length do experts recommend?▾
Should I use a random password or a passphrase like "correct-horse-battery-staple"?▾
By Toolember · Updated September 2026