The guide
Length beats cleverness
Swapping an a for an @ does almost nothing. Attackers who guess passwords for a living have known those substitutions for decades, and their software tries them first. Adding characters is what actually helps, because each one multiplies the number of possibilities the attacker has to work through.
The people who write the standard agree. Current NIST guidance tells services to require at least 15 characters when a password is the only authentication factor, support passwords up to at least 64 characters, and stop demanding a mixture of upper case, digits and symbols. Those composition rules made passwords harder for people and barely harder for machines. If a site still insists on them, switch on Meet strict rules; the entropy figure includes the small reduction caused by that constraint.
What the bits actually mean
Entropy counts how many passwords the generator could have produced, on a scale where every extra bit doubles the total. That doubling is the whole story. A 40-bit password has about a trillion possibilities, which sounds like plenty until you realise a determined attacker with stolen password hashes can try tens of billions per second. At 80 bits the same attacker needs longer than a human lifetime, and at 100 bits the question stops being interesting.
| Setting | Entropy | Offline attack |
|---|---|---|
| 8 characters, letters and digits | 47 bits | about 13 minutes |
| 12 characters, all types | 77 bits | about 19,000 years |
| 20 characters, all types (our default) | 128 bits | longer than the universe has existed |
| 8-word passphrase | 83 bits | about 1.3 million years |
Times assume 100 billion guesses a second against a badly stored password, and half the possibilities searched on average. A password stored properly, with bcrypt or Argon2, takes far longer to attack.
When to use a passphrase instead
You can only memorise a handful of passwords, so spend that memory well: your device login, and the master password for your password manager. Those are the two a manager cannot hold for you. A passphrase of real words is far easier to remember and to type on a phone or a television than twenty random characters, and eight words from our list is stronger than almost any password a person invents.
Everything else should be long, random and different on every site, stored in a manager. Reuse is the real danger: one breached forum password becomes a way into your email if the two match. Capitalising the words in a passphrase, by the way, adds no strength at all when it is done to every word, since there is no choice involved. It is there for sites that demand a capital letter, and we do not count it in the entropy.
How the randomness works here
Each character comes from crypto.getRandomValues, the browser feature built for security work, rather than Math.random, which is predictable and not meant for this. We also throw away and redraw any raw value that would fall in an incomplete final block, because taking the remainder directly would make some characters slightly more likely than others. It is a small bias, and it is avoidable, so we avoid it. If a browser cannot provide the secure source, the tool refuses to generate anything rather than silently using the weak one.
What this tool will not do
It will not remember your passwords, check them against breach lists, or tell you whether a password you already use is any good. Those need either storage or a lookup, and both would mean sending your secret somewhere. Keeping that impossible is the point. For storage, use a password manager; for breach checks, your manager or your browser almost certainly has one built in.
General information, not security advice for your particular situation. Last reviewed August 12, 2026. See about for who writes this and terms for the fine print.