Secure Password Generator
Generate cryptographically random passwords using crypto.getRandomValues — not Math.random. Configure length and character classes. Bulk-generate up to 100. Nothing is logged or transmitted; refresh the page and the generated passwords are gone.
How to use the Secure Password Generator
Pick a length (20+ is recommended for anything important), pick the character classes you need, and click Generate. The tool produces the requested number of passwords with at least one character from each enabled class. Use "Exclude ambiguous" when the password might be read aloud or copied from a screen.
What makes a password strong
Two factors: length and randomness. Length matters more — a 20-character password from a 95-character alphabet has 128 bits of entropy, well past brute-force in any reasonable timeframe. A 12-character password from the same alphabet has 76 bits; still safe today but trending borderline as GPU clusters get cheaper.
What does NOT make a password strong: cleverness. Substituting 0 for O or @ for A adds essentially zero entropy because attackers know to try those. The strongest passwords are random sequences from a wide alphabet, generated by software you trust (this tool uses the browser's WebCrypto API).
For human-memorable passwords (you'll need to type rather than paste), use a passphrase: 5+ random words from a large dictionary. correct horse battery staple style. The EFF dice-word lists are a good source.
Common use cases
- API keys, secrets in .env files, database passwords — any machine-to-machine credential where you'll paste, not type.
- Random tokens for invitation links, password-reset URLs, share IDs.
- Initial passwords for new accounts (force a change on first login).
- Single-use passwords for cases where a password manager isn't available.
For day-to-day human accounts (email, banking, etc.), use a password manager — Bitwarden, 1Password, Apple Keychain. The generator inside your password manager is just as random as this one, and the manager handles storage so you never have to remember.
Frequently asked questions
Is this safe? Could the generated passwords leak?
crypto.getRandomValues, which delegates to the OS's cryptographic PRNG. Generated passwords exist only in the page DOM; reloading clears them. No network request fires on generate. The only leak vector is your local environment — a screen recorder, an unprivileged process reading browser memory, a malicious extension.