Uses crypto.getRandomValues with rejection sampling — nothing leaves your tab.
Up to 500 passwords per batch. Strength meter is per password — bulk does not add entropy.
Entropy is reported as
bits = length × log2(charsetSize)
— the theoretical maximum for a uniformly-random password drawn from the
chosen charset. It does not account for human-memorable
patterns, breach-list overlap, or attacker knowledge of the charset rules.
Qualitative labels follow common rules of thumb:
Pronounceable mode alternates consonants and vowels, so each character carries less entropy than the full charset would — the meter reflects this.
Passphrase mode picks uniformly from the embedded
EFF Short Wordlist #1
(1,296 words). Entropy is
bits = wordCount × log2(1296) ≈ wordCount × 10.34.
This assumes words are independent and unknown to an attacker; it does
not account for grammar, common phrases, or breach-list
overlap. EFF suggests at least six words for comparable strength to a
random password — fewer words mean fewer bits.
Random characters use crypto.getRandomValues(Uint32Array)
with rejection sampling, so the distribution is unbiased even when the
charset size does not divide 232. Math.random is
never used for password material.
Bulk mode generates independent passwords with the same options. The strength meter still reports entropy for one password — having many passwords does not multiply entropy.
No "secure" claims — strength depends entirely on how and where you use the password. Treat this as a generator, not a vault.
Also try: offline 2FA codes in TOTP Generator or encode an otpauth URI in QR Generator (no payload handoff).