Easy-to-Remember Password Generator

This easy-to-remember password generator builds a passphrase from randomly selected, unrelated words — genuinely harder to guess than it looks, and much easier to remember than a string of random characters. The security comes from how many words exist to choose from and how many words you use, not from the words themselves being secret.

Number of words4
 
 

 

How this is built and checked: each word is chosen independently from a fixed list using crypto.getRandomValues(), the Web Crypto API's cryptographically secure random source. The entropy shown is log2(word list size) × number of words, the same math behind the well-known XKCD "correct horse battery staple" approach to passphrases — each additional word adds roughly the same number of bits, so word count matters more than which specific words come up.

Why random words beat a password you'd think of yourself

A password you invent tends to follow patterns — a real word, a capital letter at the start, a couple of digits at the end — and those patterns are exactly what password-cracking tools are built to try first. Four or more genuinely unrelated words, chosen by a random process rather than by you, avoid that pattern entirely while still being something you can read and say.

Frequently asked questions

Is a word-based passphrase actually secure?

Yes, if the words are chosen randomly rather than picked by you, and there are enough of them. Four words from a list of a few hundred already gives you tens of bits of entropy, comparable to a shorter fully random password, while being far easier to remember.

How many words should I use?

Four is a reasonable default for most accounts. Use more words for anything especially sensitive — each extra word meaningfully increases the number of possible combinations.

Should I add numbers or symbols to a passphrase?

It doesn't hurt and adds a bit more entropy, but the biggest factor is still the number of random words. Don't substitute a number or symbol for a word you already generated randomly.