Passphrase Generator

Developer

Memorable passphrases in English or Filipino, entropy stated honestly.

Passphrase
Generating…

How to use

What it's for

Make a passphrase — a password built from several random words joined together — that is strong but easy to remember and type.

Before you start

Know whether the website accepts spaces or demands a number, if it says. Have your password manager or the sign-up form open, because nothing is kept once you close the page.

  1. Start from the ready-made passphrase

    One is ready at the top as soon as the page opens. It is made in your browser and never sent anywhere.

  2. Choose the language and the number of words

    Under Wordlist, pick English or Filipino. Words starts at the number that list needs to be strong, and changes when you switch lists; you can add more, but do not go lower.

  3. Pick what goes between the words

    Separator sets it: Hyphen, Full stop, Underscore or Space. It does not change the strength, so pick what the website accepts.

  4. Add capitals or a digit only if required

    Tick Capitalise or Add a digit only if the website insists. They add little or no strength, and a note says exactly how much.

  5. Generate again and copy

    Press Generate again for a new passphrase, then Copy to take it. Changing any setting also makes a new one.

Reading the result

  • Passphrase: the words to use. The line under it gives the strength in bits and a rough time to guess it.
  • Entropy: the total strength in bits. Each extra word adds a good deal more.
  • Bits a word and Wordlist size: how much each word adds, and how many words the list holds. The bigger the list, the more each word is worth.

If it goes wrong

  • A note says Adding words is the only thing that helps much: raise Words to the number the note gives. Capitals and a digit cannot make up for a missing word.
  • A website refuses the spaces: choose Hyphen or Full stop in Separator instead.
  • Nothing is saved: close the page and the passphrase is gone, so put it in your password manager before you leave.

What this is

"Six words" is the number everybody quotes — and it is correct for a 7,776-word list, where each word is worth 12.9 bits and six of them come to 77.

The lists here are a few hundred words, so each is worth about eight bits. Six of those is under 50 — weaker than an eight-character random password while sounding far stronger.

So the size of the list is printed, and the recommended word count is derived from it. A stated strength is only true about the list that produced it — borrowing the familiar advice while shipping a smaller list gives a passphrase that sounds strong and is not.

And capitalising adds no entropy at all. An attacker assumes the pattern, so nothing is multiplied.

Questions

Why does this ask for nine or ten words when everyone says six?

Because “six words” assumes a 7,776-word list, where each word is worth 12.9 bits and six of them come to 77. The lists here are a few hundred words, so each is worth about eight bits — and six of those is under 50, which is weaker than an eight-character random password while sounding far stronger. The default is derived from the size of the list actually being used, so it always reaches the strength the page recommends.

Why not use the EFF wordlist?

Because reproducing 7,776 words accurately is not something this site can do honestly, and a wordlist with invented entries produces an entropy figure that is a guess. The list here is smaller and its size is printed on the page, because the strength quoted is only true about the list that produced it. The remedy for a smaller list is more words, and the page says how many.

Is a passphrase really stronger than a password?

A long one is, and the arithmetic is the whole argument. Each word multiplies the search space by the size of the list; each character of a password multiplies it by the size of the alphabet. Words are worth more per unit of memory — you can remember nine words far more easily than the twelve random characters that would match them, and the nine words are easier to type.

Does capitalising the words make it stronger?

No, and the figure on this page correctly ignores it. Capitalising every word is a pattern an attacker assumes, so it does not multiply anything. It is a readability choice. The same is nearly true of a trailing digit: it adds 3.3 bits, which is less than half of one extra word, and it is offered only because some systems insist on a number.

Why is the Filipino list here?

Because a passphrase has to be remembered, and people remember words in the language they think in. Every entry is ordinary Filipino vocabulary — words you would recognise instantly and can picture. The list is slightly smaller than the English one, so the recommended word count is slightly higher, and the page works that out for you.

Can I use spaces in a passphrase?

Usually, and it is the most readable option — the separator makes no difference to the strength, since an attacker knows what it is. A few systems still reject spaces or silently trim them, which is why hyphens and full stops are offered. If a site refuses a long passphrase at all, that is a sign it is storing passwords in a way you should be wary of.

Is the passphrase sent anywhere?

No. It is generated in your browser from the operating system’s cryptographic random source, and nothing is transmitted, logged or stored. Nothing is kept when you close the page, so save it somewhere before you navigate away — we cannot recover it.

The maths

The list size decides everything
7,776 words (EFF)12.92 bits a word
About 300 words (here)8.2 bits a word
Six words, EFF77 bits
Six words, here49 bits

An eight-character random password is 53 bits. So six words from a small list loses to it.

What actually helps
One more word+8.2 bits
A digit on the end+3.3 bits
Capitalising every word+0

Keep going

Important

Generated in your browser and never transmitted or stored. The wordlist here is smaller than the well-known EFF list, so the entropy per word is lower and the recommended word count is higher — both figures are printed rather than borrowed. Nothing you type here is sent to our servers — the calculation runs entirely in your browser.