Generate strong passwords

Generate cryptographically secure random passwords with control over length, character classes, and quantity.

Drop your file here

or click to browse

All files or paste with ⌘V

How it works

Generate cryptographically secure random passwords with control over length, character classes, and quantity.

Set the length (8 to 64 characters, default 20), toggle which character classes to include (uppercase, lowercase, digits, symbols), and choose how many passwords to generate (1 to 100). The tool uses crypto.getRandomValues for entropy, not Math.random (which is predictable and unsafe for passwords). The character pools deliberately exclude visually-ambiguous characters (no 0/O, 1/l/I) so passwords are easier to read and transcribe accurately. Symbols are limited to a common set of punctuation characters that most websites accept. Output is one password per line, ready to copy. Use a password manager to store these; never reuse the same one across sites.

How to use it

  1. Set the length. 20 characters is a strong default; use 24+ for email and banking.
  2. Choose character classes. Toggle uppercase, lowercase, digits, and symbols — ambiguous characters like 0/O are excluded.
  3. Pick how many. Generate 1 to 100 passwords at once, one per line.
  4. Copy into your password manager. Passwords are generated locally with crypto.getRandomValues and never leave your browser.

Frequently asked questions

How random are the passwords?
Cryptographically secure. The tool uses crypto.getRandomValues, the browser's CSPRNG, not Math.random.
What length should I pick?
20 characters with all four classes gives ~130 bits of entropy, well above any practical attack. For high-value accounts (email, bank), use 24+.
Why are some characters missing from the pool?
Visually ambiguous characters (0/O, 1/l/I) are excluded so you can transcribe the password without errors. The pool is still large enough to be secure at common lengths.
Are the passwords uploaded?
No. They're generated and shown locally; they never leave your browser unless you paste them somewhere.
Saved