random password generator_
Strong passwords and passphrases, generated by your browser's cryptographic RNG. Every result comes with its exact entropy and an honest answer to “how long would this take to crack?” — four attack models, not one flattering number. Nothing you generate or type is transmitted anywhere.
crypto.getRandomValues() and a word list that ships with it. There is no backend, no logging and no analytics event
that carries what you generate. The page loads an anonymous, cookie-free page-view counter and nothing else.
How strong does a password actually need to be?
The honest answer is that it depends on something you cannot see: how the site stores it. Give the same 16-character password to two websites and it might survive for millennia at one and fall in an afternoon at the other, purely because one used bcrypt and the other used unsalted MD5. That is why this tool refuses to print a single number. It shows you four columns, tells you the guess rate assumed in each, and lets you draw the conclusion.
As a working rule: anything that reaches 75–80 bits of entropy is beyond reach of even a well-funded offline attack against a fast hash, and anything under 50 bits should be treated as already broken. A 20-character password drawn from all four character classes is about 130 bits. Six words from the EFF list is about 77. Both are past the line; the second one you can say out loud.
What changed in the NIST guidance
The current revision of NIST SP 800-63B reversed a lot of advice that is still repeated everywhere. The parts that matter when you are picking a password:
| The old habit | What the guidance now says |
|---|---|
| 8 characters is enough | 15 characters minimum for a password used on its own; verifiers should allow at least 64 |
| Force upper + lower + digit + symbol | Verifiers shall not impose composition rules at all |
| Expire passwords every 90 days | Verifiers shall not require periodic changes — only after evidence of compromise |
| Block odd characters | All printing ASCII and spaces should be accepted, and Unicode too |
| Security questions as backup | Knowledge-based authentication is not permitted |
| Just check complexity | Compare against a blocklist of known-breached passwords |
The last row is the one most generators skip. This one ships an offline copy of the 10,000 most common breached passwords and checks against it in the browser, so the check costs you nothing and tells no one.
Why length beats complexity
Every character you add multiplies the search space by the size of the alphabet; every extra character class only
widens the alphabet once. Adding one character to a 12-character lowercase password multiplies the work by 26. Switching
that same password to mixed case and symbols multiplies it by roughly 3.6 per character — helpful, but it is the
length that carries the weight. This is also why P@ssw0rd! fails: the substitutions look like complexity but
an attacker's tooling undoes them for free, leaving a nine-character common word.