How to use
Drag the length slider or type a number, toggle which character sets you want (lowercase, uppercase, digits, symbols), and a password regenerates automatically. The entropy bar shows roughly how hard the result is to brute-force, measured in bits: under 40 is weak, 60+ is good for most accounts, 90+ is strong enough for a vault master password.
The "no ambiguous" toggle drops glyphs that look alike across fonts — I, l, 1, O, 0, o, `, ', ", | — useful when the password might be typed off a screen or read aloud over the phone. Random bytes come from crypto.getRandomValues, and a reject-on-modulo-bias loop keeps each character equiprobable. Nothing leaves your browser.
FAQ
How long should a password be?
Length matters more than complexity once you cross about 12 characters. For online accounts protected by rate-limited logins, 16 with mixed sets is plenty. For a password manager master password or full-disk encryption, aim for 20 or more — those are vulnerable to offline brute force if the encrypted blob is stolen.
Is the random number generator actually random?
It uses crypto.getRandomValues, the cryptographically secure RNG browsers expose, seeded from the operating system's entropy source. That is the same generator backing TLS key generation in the browser — strong enough that the RNG is not the weakest link in any realistic threat model.
Is the password sent or saved anywhere?
No. Generation happens in your browser; the result lives only in the page until you copy or refresh. We do not log it, sync it, or store it anywhere. Still, treat any password pasted into the clipboard as exposed — paste it straight into the destination field, don't leave it sitting in clipboard history.
Why not use a passphrase (correct-horse-battery-staple) instead?
Passphrases are excellent for passwords you have to type from memory — a vault master password, full-disk encryption. They are easier for humans to recall than random gibberish. For everything else stored in a password manager, a long random string is fine and uses fewer characters for the same entropy.
What does the entropy number actually mean?
It estimates log2 of the number of possible passwords the same generator could have produced with the same settings. 60 bits means roughly 10^18 candidates. Each extra bit doubles that number. Real-world attack difficulty depends on how the password is stored — fast hashes (MD5, SHA-1) let attackers test billions per second, slow hashes (bcrypt, Argon2) tens per second on a single GPU.
Related concepts
Password strength comes from two independent factors: how long the string is, and how many characters could have appeared at each position. Multiply them in log space and you get entropy in bits — the log2 of how many candidates an attacker would have to try. A 12-character password drawn from a 70-character pool has about 73 bits of entropy; doubling to 24 characters doubles the bits to 146. Length is the cheapest knob, complexity the most overrated.
The rules NIST published in SP 800-63B in 2017 — and reaffirmed since — explicitly drop the old advice. Forced periodic changes, mandatory character-class mixes ("must contain one number and one symbol"), and security-question fallbacks are out. In their place: long minimum length, allow any printable characters, screen against breach corpora, rate-limit logins, and let the user choose how to remember it. The entropy of a freshly generated random password is good evidence the password manager you store it in is the actual control — losing access to the manager, not someone guessing the string, is the real failure mode to plan for.