Skip to content
Dev Utilities

Password generator

Generate strong random passwords and passphrases

6128

Character classes

Password

Entropy

129bits

20 × log₂(88) — the alphabet in use, not a guess

Strength

✓ Excellent

beyond brute force

Alphabet size

88characters

Against a 128-bit yardstick129 / 128

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.