4128
1100

Passwords are generated using crypto.getRandomValues() cryptographically secure. Nothing is stored or transmitted.

About This Tool

This password generator uses crypto.getRandomValues() the browser's cryptographically secure random number generator to produce passwords that are statistically unpredictable. You can customize the length (4–128 characters), choose character sets (uppercase, lowercase, digits, symbols), exclude visually ambiguous characters like 0, O, l, and 1, and generate up to 100 passwords at once. Passwords are never sent to a server, logged, or stored in any way.

How to Use

  1. Set the Length slider 16 characters minimum is recommended; use 32+ for high-value accounts.
  2. Check the character sets you want: uppercase, lowercase, digits, symbols. More variety = more entropy.
  3. Optionally enable Exclude ambiguous to avoid look-alike characters in printed passwords.
  4. Set the Quantity if you need multiple passwords at once.
  5. Click Generate, then copy individual passwords or export all to TXT/CSV.

Frequently Asked Questions

How long should a secure password be?

At least 16 characters for regular accounts; 24+ for financial and email accounts. A 16-character random password using all character types has ~100 bits of entropy enough to resist brute-force attacks for billions of years with current hardware.

Is crypto.getRandomValues() really secure?

Yes. crypto.getRandomValues() is seeded from the operating system's entropy pool (equivalent to /dev/urandom on Linux). It is the same source used by TLS and SSH key generation, and is suitable for cryptographic purposes.

Should I use a password manager with these passwords?

Yes strong passwords are only practical when stored in a password manager like Bitwarden, 1Password, or KeePass. Generate a unique password for every account and store them all in your manager. Never reuse passwords across sites.

Want to test how strong your password is? Check password strength →