What Makes a Strong Password?
A complete, no-fluff guide to password strength. What the factors actually are, how they're measured, what common mistakes cost you, and how to fix them.
The Short Answer
A strong password has four properties:
- Long: at least 16 characters; longer is always better
- Random: generated by a machine, not chosen by a human
- Varied: uses multiple character types (upper, lower, numbers, symbols)
- Unique: never reused across accounts
If you use a randomly generated 16-character password with all character types, stored in a password manager, for every account, you are doing more for your security than 95% of people. The rest of this guide explains why.
1. Length: The Most Important Factor
Password strength scales exponentially with length. Every additional character multiplies the number of possible combinations by the size of the character pool.
Using a pool of 92 printable ASCII characters:
- 8 characters โ 92โธ โ 5.1 quadrillion combinations (52 bits)
- 12 characters โ 92ยนยฒ โ 470 quintillion combinations (78 bits)
- 16 characters โ 92ยนโถ โ 43 sextillion combinations (105 bits)
- 20 characters โ 92ยฒโฐ โ 4 septillion combinations (131 bits)
A high-end GPU cluster running at 10 trillion guesses per second would need:
- 8 characters โ ~7 minutes on average
- 12 characters โ ~74 years
- 16 characters โ ~68 million years
- 20 characters โ far longer than the age of the universe
The jump from 12 to 16 characters is worth more than adding any combination of symbols to a short password.
Why 8-character minimums are outdated
Many sites still enforce an 8-character minimum. This minimum was set when offline GPU cracking was orders of magnitude slower than it is today. A strong 8-character password from 2010 might survive hours; on modern hardware, it might fall in minutes against a fast hash (MD5, SHA-1). The minimum you should aim for is 12 characters; 16+ is the current best-practice recommendation.
2. Randomness: The Second Most Important Factor
A 20-character password that you chose is almost always weaker than it appears. The reason is that humans are predictable in ways that cracking tools exploit.
How attackers exploit human patterns
Modern cracking tools do not start with "aaaaaa" and work alphabetically. They start with:
- Lists of the 10 billion most common passwords (from real breaches)
- Dictionary words in every language
- Common substitutions: @ for a, 3 for e, 0 for o, ! at the end
- Names + years (birthdays, significant years)
- Keyboard patterns: qwerty, asdfgh, 1q2w3e
- Markov-chain models trained on human password behaviour
A password like Fluffy2023! has a theoretical entropy of ~37 bits, but its real-world crack time against a targeted dictionary attack is seconds. The actual entropy is close to zero because every element is predictable.
What true randomness means
A truly random password is one where each character is independently selected with equal probability from a defined set, using a source of randomness that an attacker cannot predict. This is what crypto.getRandomValues() provides, and it's why this generator uses it exclusively, never Math.random().
crypto.getRandomValues() or equivalent.
3. Character Variety
Character variety increases the pool size, which increases entropy per character. The four main types and their contributions:
- Lowercase letters (aโz): +26 characters
- Uppercase letters (AโZ): +26 characters
- Numbers (0โ9): +10 characters
- Symbols (!@#$โฆ): +32 characters
With all four types: pool = 94 characters, logโ(94) โ 6.55 bits per character.
With only lowercase: pool = 26 characters, logโ(26) โ 4.70 bits per character.
That difference per character is significant, but adding length is always a bigger gain than adding character types. A 20-character lowercase-only random password (94 bits) is stronger than a 12-character all-types password (78 bits).
The practical case for symbols
Symbols add 32 characters to the pool, the single largest addition of any character type. They raise entropy per character from ~6.0 bits (letters + numbers) to ~6.5 bits (all types). More concretely: on a 16-character password, enabling symbols adds roughly 8 bits of entropy, equivalent to adding 1โ2 extra characters.
The downside: some websites, services, and systems reject certain symbols in passwords, and some devices (smart TVs, router interfaces) make symbols hard to type. If compatibility matters, letters + numbers at greater length is a viable alternative.
4. Entropy: The Combined Measure
Entropy brings length and variety together into a single number. The formula is:
Entropy (bits) = length ร logโ(pool size)
A password with N bits of entropy has 2แดบ possible values. The average attacker needs to try 2^(N-1) values to find it.
Entropy thresholds for guidance:
- < 28 bits: Trivially crackable, change immediately
- 28โ59 bits: Weak to Fair, inadequate for important accounts
- 60โ79 bits: Strong, adequate for most everyday accounts
- 80+ bits: Very Strong, recommended for high-value accounts
Important caveat: these entropy figures assume the password is truly randomly generated. For human-chosen passwords, effective entropy is much lower than the formula suggests, because humans draw from a much smaller implicit pool of choices.
Use our Password Entropy Calculator to see the entropy of any password.
5. Uniqueness Across Accounts
A strong password reused across multiple accounts is effectively a weak password. When a site storing your password is breached, attackers immediately try the leaked password on other sites (credential stuffing). A single breach can cascade into account takeovers across your entire digital life.
The only practical solution: use a different randomly generated password for every account, stored in a password manager. You only need to remember one master password (for the manager) and a handful of critical ones you genuinely can't store (device logins, the manager itself).
Common Password Mistakes
Mistake 1: Using personal information
Attackers building targeted wordlists can find your name, birthday, hometown, children's names, and pet names from social media within minutes. Any password derived from this information is vulnerable to targeted attacks.
Mistake 2: The "secure-looking" pattern
Tr0ub4dor&3 looks strong. It has uppercase, lowercase, numbers, a symbol, and 11 characters. Its theoretical entropy is ~72 bits. But this specific string (from the XKCD comic) is now in every cracker's dictionary. More importantly, the pattern (word plus leet substitutions plus an appended number or symbol) is extremely common, and cracking tools model it explicitly.
Mistake 3: Reusing passwords
As of 2024, billions of password-email pairs from breached databases are freely available. Credential stuffing tools test these pairs against every major service automatically. If you reuse passwords, a breach of any one service can compromise all others.
Mistake 4: Incrementing
MyPassword1 โ MyPassword2 โ MyPassword3. Cracking tools and attackers try this pattern explicitly when they find an old password.
Mistake 5: Short + complex vs. long + simple
Many people believe a complex 8-character password is better than a simple 16-character one. It is not. xK#9mP$v (52 bits) is weaker than flameriverboltecho (85 bits, a random passphrase). Length wins.
Entropy Reference Table
| Length | Lowercase only | Letters + digits | All types (92) | Rating |
|---|---|---|---|---|
| 8 | 37 bits | 47 bits | 52 bits | Weak |
| 10 | 47 bits | 59 bits | 65 bits | Fair |
| 12 | 56 bits | 71 bits | 78 bits | Strong |
| 16 โญ | 75 bits | 95 bits | 105 bits | Very Strong |
| 20 | 94 bits | 119 bits | 131 bits | Very Strong |
| 24 | 112 bits | 143 bits | 157 bits | Very Strong |
All entropy figures assume true random generation. Human-chosen passwords have much lower effective entropy regardless of length.
Practical Recommendations
For accounts stored in a password manager
- Use a randomly generated password, 16+ characters
- Enable all character types (unless the site disallows symbols)
- Use a different password for every account
- Enable 2FA on every account that supports it
For your password manager master key
- Use a random passphrase: 5-6 words from our Passphrase Generator
- Practice typing it until it's memorised
- Store a written backup in a physically secure location
For accounts you must memorise
- Use a 4-6 word random passphrase (not personally meaningful words)
- Enable 2FA: a strong passphrase with 2FA is resistant to almost all remote attacks
Frequently Asked Questions
Length. Every additional character multiplies the search space by the pool size. A 20-character password with only lowercase letters has more possible values than a 10-character password with all character types. Length and randomness together are what matter; character variety is helpful but secondary.
Minimum 12 characters for any account; 16+ for everyday accounts; 20+ for high-value accounts (email, banking). For a password manager master key, a 5-6 word passphrase is more memorable and equally strong.
It helps, but less than adding length. Symbols add 32 characters to the pool (the largest single addition), raising entropy per character from ~6.0 to ~6.5 bits. On a 16-character password, that's roughly 8 extra bits, equivalent to about 1-2 additional characters. Both matter, but if you're choosing between "16 chars, no symbols" and "12 chars, with symbols", choose 16 characters every time.
Not for the same length. A random character password has higher entropy per character than a word-based passphrase. However, a long random passphrase (5-6 words) achieves sufficient entropy for most use cases while being far more memorable. The comparison depends on what you can practically use. See our full comparison: Password vs Passphrase.
Short length (under 12), personal information (name, birthday, pet), dictionary words or patterns (qwerty, 123456, password), leet-speak substitutions of common words, appearance in any breach database, or reuse across multiple accounts.
Ready to create a strong password?
Apply everything in this guide with one click.
Generate a strong password โ Check an existing password โRelated Guides
What Is a Random Password?
The difference between pseudo-random and cryptographically secure randomness.
Read โPassword Entropy
A deep dive into how entropy is calculated and what it means in practice.
Read โPassword vs Passphrase
When to use each approach: an honest comparison.
Read โAre Online Password Generators Safe?
What to look for and what to avoid.
Read โ