7,776 words, five dice rolls, and one bundled list
Diceware, described by Arnold Reinhold in 1995, is a protocol rather than a product: number a word list from 11111 to 66666, roll five dice, look up the word, repeat. The list that makes it work is exactly 7,776 words long because 6 to the fifth power is 7,776, so every possible roll maps to exactly one word and no word is more likely than any other.
This page bundles the Electronic Frontier Foundation’s long wordlist, all 7,776 of them, lowercase and picked to be distinct enough from one another to type and re-read without second-guessing. The dice are replaced by the browser’s own cryptographic random source. Each index comes from the same randomInt helper the Random Number Generator uses, which draws a 32-bit word and rejects any value that would make some indices marginally more likely than others before taking the remainder. That rejection step is the whole reason the entropy figure below is honest rather than approximately honest.
Building a six-word phrase for a password manager
- Set Number of words to 6. The field takes 3 to 10, and anything outside that range is pulled back to the nearest end.
- Leave Separator on Dash (-) unless the field you are filling dislikes dashes. Space, Dot (.) and None (glued together) are the alternatives.
- Change Capitalization from the default Capitalize each word to Randomly capitalize each word (adds entropy). This is the only capitalization setting that buys you anything.
- Leave Append a random digit ticked. It is on by default and adds one uniformly random digit as a final part.
- Click Passphrase Generator. The phrase, its entropy and its four crack-time rows appear together.
- Use Copy to clipboard to take the whole box, or Generate more to bring the options back and draw again.
Those settings report Entropy: ~86.9 bits, which is 6 words at 12.9248 bits each, plus one bit per word for the coin flip that decides capitalization, plus 3.32 bits for the digit.
Two settings add entropy, two are pure decoration
The base figure is the word count multiplied by the base-2 logarithm of 7,776, which is 12.9248 bits per word. On top of that, Randomly capitalize each word (adds entropy) flips an independent coin for every word and therefore adds exactly one bit each. Append a random digit adds the base-2 logarithm of 10, about 3.32 bits.
Nothing else counts. Capitalize each word is a fixed rule that an attacker already knows, so it contributes zero. The separator is a formatting choice, not a secret, so it contributes zero too. Plenty of generators quietly inflate their strength claim with exactly these two knobs. This one does not, which is why five words with the default settings reads 67.9 bits rather than some rounder, friendlier number.
Reading 67.9 bits across the four rows
The default five-word phrase with a digit produces this, verbatim from the box:
Online attack, rate-limited (100 guesses/hour): 324 trillion years
Online attack, no rate limit (10 guesses/second): 901 billion years
Offline attack, slow hash e.g. bcrypt (10,000 guesses/second): 901 million years
Offline attack, fast hash / GPU cracking (10 billion guesses/second): 901 years
Only the bottom row matters much. The first three describe attackers who have to talk to a login form or grind through a deliberately slow hash. The last one describes somebody who has stolen a database, found it hashed with something fast, and pointed hardware at it. That is the number to plan against, and 901 years of it is a comfortable margin. Push to ten words and three of the four rows overflow the named magnitudes entirely and fall back to scientific notation, printing values like 9.22e+33 years. The Password Strength Checker prints the same four scenarios for any password you paste, so you can compare a generated phrase against one you already use.
Three words is a floor the tool allows, not one it recommends
The minimum setting exists because clamping needs a floor, not because three words is enough. Three words, All lowercase, no digit, is 38.8 bits, and the fast-hash row for that comes back as 47 seconds. Four words with a capital on each is 51.7 bits, and that row reads 4 days. Five words is 64.6 bits before the digit, or 90.1 years against fast hashing. Six is 77.5 bits, which is 701 thousand years in the same column.
The jump between four and six words is the entire argument for diceware. Every extra word multiplies the search space by 7,776, and it costs you one more ordinary English word to remember.
Where a long phrase meets other tools’ limits
Length is not free everywhere. Hash a ten-word phrase with the Bcrypt Hash Generator & Verifier and bcrypt reads only the first 72 bytes: an 82-character phrase from this page verifies against its own first 72 characters, so the last ten do nothing at all. That is bcrypt’s documented behaviour rather than a quirk of this site, and it is a good reason not to assume more words always means more protection.
The opposite case is Encrypt a File with a Password, where the phrase is stretched through 600,000 rounds of PBKDF2 before it becomes an AES-256-GCM key. Guessing there costs a full derivation per attempt, which puts a real attacker much closer to the slow-hash row than the fast-hash one. If you want random characters instead of words, the Password Generator draws from a pool of up to 88 characters and reports its own entropy the same way. The rest of the security tools sit on the developer tools hub.

