Password Generator

Generate secure passwords: random, pronounceable, or passphrase

Generate secure passwords three ways: random characters, pronounceable strings, or memorable passphrases. Every result shows its entropy (bits) and strength.

🔒 Everything is computed in your browser with crypto.getRandomValues — generated passwords are never sent to a server.

  • Press Generate and passwords will appear here.

How to use

  • Random: pick a length and character types (uppercase/lowercase/numbers/symbols) for a fully random password. Best for accounts you'll store in a password manager.
  • Pronounceable: alternates consonants and vowels into a string that isn't a real word but is easy to read and say out loud — handy for a temporary password you need to dictate or type in by hand.
  • Passphrase: picks several common English words at random and joins them with a separator. Longer to type, but easier to remember, and entropy (security) goes up with every extra word.
  • Entropy (bits) is log2 of how many different results the chosen method and settings could produce. 60+ bits is plenty for a typical online account; 80+ bits is solid even for long-term storage.

About Password Generator

This tool builds passwords three ways: a random mix of characters, a pronounceable string, and a passphrase of joined words. Every random choice uses crypto.getRandomValues, never Math.random, because Math.random can produce predictable values and is unfit for anything secret.

Each result shows its entropy in bits. Entropy expresses the number of possible outputs of the method as a power of two, and it is the most honest single measure of how strong a password is. Below is how that number is computed and why length beats complexity rules.

Entropy is length × log2(alphabet size)

In random-character mode, when each character is drawn uniformly from an alphabet, the entropy is length × log2(alphabet size). This tool's full alphabet is 26 uppercase + 26 lowercase + 10 digits + 25 symbols = 87 characters. Since log2(87) ≈ 6.44 bits, every character carries about 6.44 bits.

So 12 characters is about 77 bits and 16 is about 103. Each added character adds 6.44 bits, which means multiplying the number of possibilities by 87. Shrinking the alphabet does the reverse: lowercase only (26, log2(26) ≈ 4.7 bits) yields less entropy at the same length. Turning on "exclude ambiguous characters" removes a few glyphs (0, O, 1, l, I, |), shrinking the set slightly and lowering entropy by a hair.

This math holds only when characters are truly random. A human-made password like "P@ssw0rd!" has many characters but a predictable pattern, so its real entropy is far lower. The bit value shown is valid only for values this tool generated at random.

Why length matters more than complexity rules

A rule like "must mix upper, digit and symbol" enlarges the alphabet and nudges per-character entropy up. But adding length is far more efficient. Twenty lowercase characters (log2(26) × 20 ≈ 94 bits) beat fourteen from the 87-character set (≈ 90 bits). Worse, composition rules push people toward obvious patterns like "Password1!" that satisfy the rule while staying predictable.

NIST's Digital Identity Guidelines (SP 800-63B, 2025 revision) codify this. User-chosen passwords should allow at least 8 characters (15 or more when a password is the only factor), permit at least 64, and impose no other composition rules. They also say not to require periodic changes (only force one on evidence of compromise) and to screen candidates against lists of breached passwords.

Passphrases: why a few words are safe

Passphrase mode draws without repetition from a 256-word list (exactly 2^8), so a list size that is a power of two makes each word worth exactly 8 bits. Because words aren't repeated (drawing without replacement), the exact figure differs slightly: five words give log2(256×255×254×253×252) ≈ 39.9 bits.

The well-known Diceware scheme uses a 7,776-word list (five rolls of a six-sided die), so each word is log2(7776) ≈ 12.9 bits and six words are about 77 bits. This tool trims its list to 256 short, common English words so speakers of any language can copy them without typos; per-word bits are lower, but you make it up with word count. The point is that people memorize them easily while machines struggle to guess them.

The "capitalize" and "append a number" options look stronger than they are. A fixed first-letter capital is at a fixed position and adds no possibilities; a single trailing digit adds only log2(10) ≈ 3.3 bits. To really raise strength, add words.

The trade-off in pronounceable mode

Pronounceable mode alternates consonants (20) and vowels (5) to make a readable string, at the cost of low per-character entropy. A consonant is log2(20) ≈ 4.32 bits and a vowel log2(5) ≈ 2.32, so a consonant-vowel pair is about 6.64 bits. Ten characters is only about 39.9 bits.

Easy to say, but much weaker than random-character mode. Use it for a temporary password someone has to read and type by eye; for accounts that must stay protected, use a generously long random string or a passphrase with more words.

Worked examples

12 vs 16 characters (full 87-character set)

Input
Random-character mode, upper + lower + digits + symbols
Output
12 chars ≈ 77 bits, 16 chars ≈ 103 bits

Each character is log2(87) ≈ 6.44 bits. Four characters is about 26 bits — roughly a 67-million-fold difference in the number of possibilities.

A five-word passphrase

Input
Passphrase mode, five words from the 256-word list
Output
About 39.9 bits (e.g. river-anchor-melody-copper-forest)

Computed as log2(256×255×254×253×252). Going to six words reaches about 47.9 bits.

How to use it

  1. Choose a mode: random characters, pronounceable, or passphrase.
  2. Adjust length or word count and which character types to include.
  3. Watch the entropy (bits) shown to judge strength.
  4. Copy the value. Generate again for a new one.

Key terms

Entropy (bits)
The number of possible random outputs expressed as a log base 2. Higher means harder to guess.
Alphabet size
How many distinct characters can occupy one position. Larger means more entropy per character.
Passphrase
A password made of several joined words — easy to remember while gaining entropy from length.

Frequently asked questions

How many bits is safe?

For an online service (with rate limiting), a few dozen bits suffice, but to withstand attacks on a leaked hash aim for 80+ bits. This tool labels 60+ bits as strong.

Do I have to include symbols?

No. NIST advises against mandating character types. Enough length makes lowercase-only safe. Some sites ban symbols, so people sometimes add them for compatibility.

Does the generated value go to a server?

No. Generation happens entirely in your browser, using crypto.getRandomValues for randomness.

Should I change passwords periodically?

NIST advises against forced periodic changes absent evidence of compromise. Frequent changes tend to breed predictable patterns like a month name plus a number.

Does turning on capitals and numbers make a passphrase much stronger?

Barely. Fixed-position capitalization adds no entropy, and one trailing digit adds only about 3.3 bits. Adding words is what works.

Related guides

Sources

Last reviewed:

Privacy and how data is handled