Password Generator

Build a passphrase your way — choose the separator and whether to include numbers and symbols. The word count, actual words, digit, and symbol are all picked using your browser's cryptographically secure random generator.

Strength: —

Choose a separator and which extras to include — the word count, words, digit, symbol, and their position are all picked fresh using your browser's cryptographically secure random generator each time you click Generate. See our passphrase guide for why this method works.

How to Generate a Strong Passphrase

  1. Pick a separator, and check or uncheck numbers, symbols, and capitalization to match what you need.
  2. Click "Generate New Password" any time to get a fresh result with your current settings.
  3. Check the strength meter and entropy estimate below the field, then click "Copy Password" once you're happy with it.

Frequently Asked Questions

Why does this generate a passphrase from words instead of random characters?

Word-based passphrases are easier for a person to read and type while still carrying real entropy — the strength meter under the field reports the actual estimated bits so you can judge each result for yourself. You choose the separator and which extras to include; the word count, the words themselves, the digit, and the symbol are all picked at random by your browser's cryptographically secure generator, so no two results look alike.

Why isn't there a dash or space separator option?

Both were removed on purpose. A space in a password can break copy-paste into some forms and command-line tools, and dashes made every result look too similar in shape. With words running together (or split by an underscore or dot), plus numbers and symbols landing in different spots and shapes each time, results look much more like a genuinely random string.

Is the randomness actually secure, or is it just Math.random()?

It's not Math.random(). Which words are picked, how many words there are, the digit value, and the symbol character all come from crypto.getRandomValues(), the browser's cryptographically secure random number generator — only the separator, capitalization, and whether to include a number or symbol are the settings you choose directly.

Why does the strength rating change so much between settings?

Turning on numbers and symbols adds real bits of entropy on top of whatever word count gets randomly picked for that result — a single word with nothing extra sits around 7 bits, while two words with a number and a symbol can reach roughly 24 bits, which is why the rating can range from Weak to Very Strong between generations.

Why does the password sometimes have one word and sometimes two?

The word count itself is randomized between one and two words each time you click Generate, the same way the specific words, digit, and symbol are — it's one more thing that can't be predicted, and it's also why results can look as different as a single short word or a longer two-word combination with mixed digits and symbols.