Password generator
Generate strong random passwords and passphrases
6–128
Password
—
Entropy
129bits
20 × log₂(88) — the alphabet in use, not a guess
Strength
✓ Excellent
beyond brute force
Alphabet size
88characters
128 bits is the point at which the password stops being the weakest link. The bar is a ratio, not a score — the label beside it carries the verdict.
How this is generated
Every character and every word is drawn from crypto.getRandomValues using rejection sampling: a random value that falls in the incomplete final block of the generator's range is thrown away and redrawn, rather than folded in with a modulo. Taking byte % 88 would make the first few characters of the alphabet noticeably more likely, and the entropy figure above would then be an overstatement. Math.random is not used anywhere in this tool — its state is recoverable from a few outputs.
The passphrase wordlist ships with this page and holds 890 distinct words of three to seven letters, which is where log₂(890) = 9.80 bits per word comes from. The size is stated because the number is meaningless without it: an attacker is assumed to know the list, and a passphrase's strength comes from the number of words, not from the list being secret.
Nothing generated here is stored or transmitted. There is no history, no localStorage, no URL parameter and no logging; the value exists in this tab's memory until you regenerate or close it.