How it works
Characters are picked with crypto.getRandomValues using rejection sampling, so every allowed character is equally likely and there is no modulo bias. If you select several character types, the generator retries until each selected type appears at least once, which changes the entropy negligibly.
The entropy estimate is length × log2(pool size) for characters, and words × 8 bits for passphrases drawn from a 256-word list (plus about 3.3 bits for an added digit and its position). The list is public, which is fine: security comes from the random choice, not from hiding the words.
Strength labels are rough bands we chose for readability, not a standard. The estimate says nothing about passwords you typed yourself, reused passwords, or passwords that appear in breach lists.
Common uses
- Creating a unique password for each account to store in a password manager.
- Generating a memorable passphrase for a master password or disk encryption.
- Producing test credentials or API secrets during development (use a proper secrets manager in production).
