How to use it
- Pick Random characters for a site password or Passphrase for something you must type or remember.
- Set the length (4–128) and tick the character sets. Exclude ambiguous characters when the password will be read from paper, or list symbols a site refuses.
- Choose how many to generate (up to 50) and press Generate. The entropy in bits and a plain-language label appear with the result.
- Copy the password straight into your password manager. Press Generate again for a fresh one; Clear removes it from the screen.
Example
16 characters with lower-case, upper-case, digits and symbols: the pool is 26 + 26 + 10 + 27 = 89 characters, so the entropy is 16 × log₂(89) = 103.6 bits, and the one-of-each guarantee trims that by a quarter of a bit to 103.4. An attacker who can test 10 billion guesses per second against a fast hash needs on average 2102.4 / 1010 seconds, which is over a trillion years. A 6-word passphrase such as maple-orbit-cactus-ribbon-sled-harborhas 6 × 11 = 66 bits: about 120 years at that fast-hash rate, a million times longer against bcrypt, and far easier to type.
How entropy is calculated
A password drawn uniformly from an alphabet of N characters at length L has L × log₂(N) bits of entropy. The guarantee that each selected set appears at least once removes a small fraction of those strings; the tool counts the remaining ones exactly by inclusion–exclusion over the sets and reports log₂ of that count.
H = log₂( Σ over subsets S of the sets: (−1)^|S| · (N − |S chars|)^L ) → N = 89, L = 16: 103.4 bits (naive 103.6)The password is built by drawing one character from each selected set, filling the rest from the whole pool and then shuffling with a Fisher–Yates pass, so the guaranteed characters do not sit at fixed positions. Each draw uses a 32-bit word from Web Crypto mapped onto the pool with rejection sampling, which keeps every character exactly equally likely.
Passphrase entropy is words × log₂(2,048) = 11 bits per word, plus log₂(100) ≈ 6.6 bits for the optional number. Capitalising words adds nothing, because it is predictable. Strength labels follow common thresholds: under 28 bits very weak, 28–35 weak, 36–59 fair, 60–79 strong, 80 bits and above very strong.
Limits. Entropy assumes the attacker knows exactly how the password was made and has to try every possibility; it says nothing about a password being leaked by a site or caught by malware. The time estimate uses the average case (half the key space) at a fixed 1010 guesses per second, which is a fast-hash GPU figure; against bcrypt or Argon2 the same password lasts millions of times longer.
Sources: NIST SP 800-63B-4, Digital Identity Guidelines – passwords, MDN – Crypto.getRandomValues(), EFF – Deep dive: new wordlists for random passphrases, Password strength – entropy as a measure.
How long should a password be?
NIST SP 800-63B requires at least 8 characters for user-chosen passwords and, in its fourth revision, recommends at least 15 when a password is the only factor, while telling sites to accept at least 64. Length beats forced complexity: a 20-character lower-case-only password (94 bits) is stronger than a 12-character one that mixes all four sets (77 bits). Pick the longest password the site accepts, let a password manager remember it, and use a passphrase only where you must type it by hand.
Questions
- Does excluding ambiguous characters weaken the password?
- Only slightly. Removing O 0 o I l 1 | shrinks the full pool from 89 to 82 characters, which costs about 0.1 bits per character – a 16-character password drops from 103.4 to 101.4 bits. Add one more character and you are ahead again.
- Is a passphrase weaker than a random password?
- Per character it is, per item it depends on the count. Six words from this 2,048-word list give 66 bits, a little more than a 10-character random password from all sets (64 bits), but the phrase is far easier to type and remember. For a password manager master password use seven or more words.
- Can someone reproduce my password from the link?
- No. The link stores the settings (length, sets, word count) so you can reuse them; the password itself never enters the address bar, the page history or any request.
- Why do other tools show a different entropy for the same settings?
- Most quote length × log₂(pool) and ignore their own “one of each type” rule, or use a different symbol set. This tool counts the exact number of passwords its rules can produce: the guarantee costs about 3.8 bits at 4 characters, 1 bit at 8, a quarter of a bit at 16 and almost nothing beyond 30.