Password Generator
Generate strong, random passwords with entropy score and crack time estimate.
What is a Password Generator?
A password generator creates random passwords by combining characters from a pool you define — uppercase letters, lowercase letters, numbers, and symbols. Because the passwords are random rather than based on words or patterns, they are far more resistant to brute-force and dictionary attacks than passwords humans invent themselves.
This generator uses the browser's Web Crypto API
(crypto.getRandomValues())
to produce cryptographically secure random numbers — the same standard used
in security software. Your passwords are generated locally and never sent
to any server.
What is Password Entropy?
Entropy measures how unpredictable a password is, expressed in bits. The formula is log₂(pool size) × length. A 16-character password using all four character types draws from a pool of 94 characters, giving log₂(94) × 16 ≈ 104 bits of entropy.
The crack time estimates show how long it would take to exhaust all possible combinations at three attack speeds: a throttled online login (100 guesses/second), a fast offline hash (10 billion/second), and a large GPU array (100 trillion/second). Even at GPU-array speed, a 128-bit password would take longer than the age of the universe to crack.
How to Use
- Set your desired password length using the slider (default: 16 characters).
- Toggle the character types you want to include. Using all four gives the strongest passwords.
- Optionally enable Exclude ambiguous characters to avoid characters like
0 O 1 lthat are hard to distinguish visually — useful for passwords you type manually. - Click Generate Password. The entropy score and crack time estimates update immediately.
- Click the 📋 button or anywhere on the password to copy it.
- Use Bulk Generate to create up to 20 passwords at once — each with its own copy button.
Frequently Asked Questions
crypto.getRandomValues(),
part of the Web Crypto API built into all modern browsers. This generates
cryptographically secure random numbers seeded from the OS's
entropy pool — the same approach used by security tools and password managers.
It is not the same as Math.random(),
which is pseudorandom and unsuitable for security purposes.
K7#mP2xQnR$vL9wZ
is cryptographically strong but impossible to remember. A passphrase like
"correct-horse-battery-staple" (four random common words) is weaker per
character but often has comparable entropy while being memorisable. For passwords
stored in a password manager, use maximum-strength random passwords. For your
password manager's master password — the one you must memorise — a long passphrase
is often the better choice.