Secure Password Generator
Generate random, secure passwords directly in your browser using the system's cryptographic API (Web Crypto API) instead of weak pseudo-random generators. Choose the length and character types, and get an instant strength indicator based on the password's real entropy.
How it works
- Choose the length you want with the slider or the number field (between 8 and 64 characters).
- Turn uppercase letters, lowercase letters, numbers, and symbols on or off depending on your needs.
- Optionally exclude ambiguous characters like l, 1, I, O, and 0 to avoid mix-ups when typing the password.
- The tool generates the password using the browser's crypto.getRandomValues and shows its estimated strength level.
- Copy the password with one click, or hit "Regenerate" for a new combination.
Use cases
- Create unique, strong passwords for new accounts without reusing old ones.
- Generate temporary passwords to share access with coworkers securely.
- Set up strong passwords for password managers, routers, or databases.
- Meet corporate security policies that require minimum length and complexity.
Use cases
- Create unique, strong passwords for new accounts without reusing old ones.
- Generate temporary passwords to share access with coworkers securely.
- Set up strong passwords for password managers, routers, or databases.
- Meet corporate security policies that require minimum length and complexity.
Common mistakes
- Generating a password and reusing it across multiple accounts to avoid remembering several.Reusing passwords undoes most of the security benefit: if one account leaks, every account sharing that password is exposed. Generate and save a different password for each service, ideally in a password manager.
- Turning off symbols and numbers thinking length alone is enough.The strength indicator is calculated from entropy (length × log2 of the character set size), so reducing the character types lowers entropy even if the length stays the same. Enable every type the site allows.
- Excluding ambiguous characters (l, 1, I, O, 0) even when the password will be pasted directly into a password manager.That option only matters if you'll be typing the password by hand or reading it aloud. In any other case, leave it off to make full use of the character set.
Frequently asked questions
No. All generation happens locally in your browser using the Web Crypto API. No password is ever transmitted, stored, or logged on any server.
Math.random() is not cryptographically secure — its output can potentially be predicted. crypto.getRandomValues() uses the operating system's secure random number generator, which is suitable for generating passwords and keys.
It's calculated from entropy in bits (length × log2 of the size of the character set used). More bits mean more possible combinations, and therefore a password that's harder to guess through brute force.
Only if you'll be typing the password by hand or reading it aloud. For passwords used exclusively in a password manager, there's no need to exclude them, since doing so slightly shrinks the available character set.
Alternatives
Operating systems and password managers like Bitwarden, 1Password, or your browser itself include a built-in generator that also avoids reusing passwords across sites. This tool is handy when you need a one-off password without opening a manager, or when you want to see exactly which character types it includes and its entropy before using it.