Generate a Diceware Passphrase — Free EFF Wordlist Generator
Roll a set of virtual dice with the Diceware Passphrase Generator: choose your number of words (4 to 8) and a separator, then click Roll the Dice to get a passphrase built from the official EFF short wordlist — every roll is shown, so you can see exactly which word each one picked. Turn on capitalize each word or add a random number if your account rules require a mix of character types. This is the real Diceware method, run entirely in your browser, not a paraphrased word list dressed up to look like one.
Ever struggled to remember a complex string of random characters, only to end up using something dangerously predictable? The Diceware Passphrase Generator solves that problem by producing cryptographically strong, genuinely memorable passphrases — giving you the confidence that your most sensitive accounts, encrypted drives, and password manager master keys are protected by unpredictability no attacker can predict. Whether you're securing long-term encryption keys or everyday account logins, understanding how this tool works puts you firmly in control of your own digital safety. Good password security starts with understanding the method behind the tool.
How the Diceware Secure Passphrase Method Works
The diceware method was created by Arnold G. Reinhold and is based on a beautifully simple principle: truly random selection of words from a vocabulary list produces passphrases that are both easily memorable and extremely resistant to attack. Each word in your passphrase is chosen by randomly selecting words — mapping five independent dice rolls to a unique entry in the diceware wordlist. The original list contains exactly 7,776 entries — one for every possible five-digit combination using digits 1–6, which is 65 = 7,776. This generator automates that selection using your browser's own window.crypto.getRandomValues() function, which is the same JavaScript CSPRNG relied upon by modern browsers for cryptographic unpredictability. No data leaves your browser — everything happens locally, making this a true browser security guarantee.
Rolling Dice to Select Words from the Wordlist
When you use physical dice manually, the process follows clear directions. Here is the step-by-step approach:
- Step 1: Gather a set of dice — five six-sided dice work best, though you can roll one die five separate times.
- Step 2: Roll all five dice simultaneously (or sequentially) and record the result left to right. Each die shows a digit from 1 to 6, giving you a five-digit number such as 43136.
- Step 3: Look up that five-digit number via the diceware lookup table. The number 43136 maps to the word mulct, 43141 maps to mule, and so on.
- Step 4: Repeat for each additional word you need. For a total of six words, you perform this process six times.
- Step 5: Combine all selected words into your passphrase, separated by spaces, hyphens, or another separator of your choice.
- Step 6: Optionally, use two die rolls to append a symbol for extra protection — press +sym in the generator to do this automatically.
The generator mirrors this process precisely. Clicking +Word appends a new word by simulating five die rolls internally. You can also shuffle passphrase words to randomly reorder them, or use enter to perform a manual word lookup by typing a 5-digit number directly. The tool supports manual die input: type the five die results using digits between 1 and 6, then press Enter to retrieve that word — just as you would with a printed reference list.
Using the Diceware Word List: Sample Excerpt
The vocabulary index maps every possible five-digit code (from 11111 to 66666) to a word. Below is a sample snippet illustrating the structure:
43136 mulct
43141 mule
43142 mull
43143 multi
43144 mum
43145 mummy
43146 munch
43151 mungEach entry occupies its own row: a 5 digit number (the index number) followed by a tab and the corresponding word. The full list spans from 11111 to 66666, covering all 7,776 possible five-digit codes composed of digits from 1 to 6. When you roll 5 numbers and look them up, you retrieve exactly one deterministic word — the unpredictability comes entirely from the dice, not from the word itself.
Why Passphrases Beat Passwords: Entropy and the Passphrase Generator Advantage
A traditional complex credential like P@ssw0rd! feels secure but is often predictable in structure. A diceware passphrase composed of six random words is both longer and far more unpredictable — delivering superior password security without the memorability penalty. The reason lies in entropy: the measure of how unpredictable your credential is to a brute-force attacker.
Entropy is a measure of the uncertainty or randomness of a system. The concept is a difficult one to grasp fully and is confusing, even to experts. Strictly speaking, any given passphrase has an entropy of zero because it is already chosen. It is the method you use to randomly select your passphrase that has entropy. Entropy tells how hard it will be to guess the passphrase itself even if an attacker knows the method you used to select it.
A classic analogy: a single coin toss — heads or tails — has one bit of entropy. Every additional bit doubles the number of possibilities an attacker must search.
Measuring Entropy and Randomness in Your Diceware Passphrase
Calculating informational strength for a passphrase is straightforward. Each word chosen from the 7,776-entry index contributes:
$$\text{bits per word} = \log_2(7776) \approx 12.92$$
In JavaScript, this is expressed as:
Math.log2(7776); // ≈ 12.92 bits/wordA symbol drawn from a 36-symbol pool adds:
Math.log2(36); // ≈ 5.16 bits/symbolFor comparison, a random letter from a 26-character alphabet contributes approximately 10 bits/letter, and a symbol from a 36-character set contributes roughly 5.16 bits per character. The total unpredictability for a passphrase of N words is simply:
$$\text{Total entropy} = N \times 12.92 \text{ bits}$$
The overall search space — the number of possible combinations — grows exponentially with word count:
(7776^WordsInPhrase)So for five words: \(7776^5 = 28,430,288,029,929,701,376\) — nearly 28 quintillion possible phrases. This is the source of strong account security: even a professional adversary cannot enumerate that space in any practical timeframe. The selection method's unpredictability is what makes dice-generated passphrases so powerful: it is not the words themselves but the truly random selection process that creates attack resistance.
Crack Time vs. Passphrase Length: Brute-Force Attack Estimates
To understand why passphrase length matters so much, consider how long an exhaustive brute-force search of 50% keyspace would take at various attacker speeds. On average, a brute-force attacker needs to try half of all possible combinations before finding yours. A small cluster of GPUs can achieve approximately 350 billion hashes per second (hashes/second). A nation-state actor may operate at quadrillions per second. The table below shows estimated crack time at each word count, assuming a professional adversary performing GPU cracking at 350 billion guesses per second:
| Words | Total Keyspace (7776^N) | Attacker Speed | Time to Search 50% of Keyspace |
|---|---|---|---|
| 4 | ~3.66 billion | 350 billion/sec (GPU cluster) | < 1 second |
| 5 words | ~28.4 quadrillion | 350 billion/sec (GPU cluster) | ~11.4 hours |
| 6 words | ~221 sextillion | 350 billion/sec (GPU cluster) | ~10,000 years |
| 7 | ~1.72 septillion | 350 billion/sec (GPU cluster) | ~78 million years |
| 8 | ~13.4 octillion | Quadrillions/sec (nation-state-class) | Thousands of human lifespans |
| nine words | ~104 nonillion | Quadrillions/sec (nation-state-class) | Exceeds the age of the universe |
A six-word passphrase at 350 billion attempts per second would require approximately 10,000 years for an exhaustive brute-force — far beyond the reach of even a well-funded attacker. At a hypothetical quadrillion attempts per second, eight or more words still exhausts multiple human lifespans before covering 50% keyspace. This is why the standard recommendation is a minimum of six words, considered safe for high-protection applications including full-disk encryption and long-term cryptographic keys. Security research consistently supports this threshold.
Worked Passphrase Examples and Entropy Comparison
Here are three concrete passphrase examples to ground the math in reality.
Example 1 — A 6-word passphrase with dice roll mappings:
- Roll: 45231 → panoramic
- Roll: 34215 → nectar
- Roll: 42431 → precut
- Roll: 52413 → smith
- Roll: 12341 → banana
- Roll: 21345 → handclap
Result: panoramic nectar precut smith banana handclap — 77.52 bits of informational strength (6 × 12.92). This generated result is both memorable and cryptographically formidable.
Example 2 — Single complex credential vs. 5-word passphrase:
A complex 8-character credential using uppercase, lowercase, digits, and symbols (94 possible characters) has a search space of:
$$94^8 = 6{,}095{,}689{,}385{,}410{,}816 \approx 6 \times 10^{15}$$
A five-word passphrase has a search space of:
$$7776^5 = 28{,}430{,}288{,}029{,}929{,}701{,}376 \approx 2.84 \times 10^{19}$$
The five-word passphrase is roughly 4,600 times larger in coverage — and dramatically easier to remember. Credential strength is not just about character complexity but the size of the space an attacker must search.
Example 3 — Crack time worked example using the table:
Suppose your attacker speed is 350 billion attempts per second (a realistic GPU cracking rig). A 6-word passphrase has a combined search space of approximately \(7776^6 \approx 2.21 \times 10^{23}\). To cover 50% of that space:
$$\text{Time} = \frac{2.21 \times 10^{23} \div 2}{3.5 \times 10^{11}} \approx 3.16 \times 10^{11} \text{ seconds} \approx 10{,}000 \text{ years}$$
Even if an attacker could get lucky on the first try (an extraordinarily unlikely outcome), on average they would need to work through half the search space — which at current GPU cracking speeds takes millennia. That is the power of passphrase length.
Choosing the Right Word List for Your Dice-Generated Passphrases
The vocabulary list you choose directly affects both the memorability and the protection level of your output. This credential generator supports multiple word lists, each with different trade-offs between word familiarity and informational strength.
Original Diceware Wordlist vs. EFF Wordlists
The original diceware word list was compiled by the method's creator and contains 7,776 entries — including some obscure or archaic words like mulct. While the unpredictability per word is identical across any 7,776-word index, the Electronic Frontier Foundation (EFF) list replaces unusual entries with more common, recognizable words. This makes passphrases generated from the EFF vocabulary marginally easier to memorize without any sacrifice in protection. The EFF also publishes two shorter lists designed for use with four dice, which offer slightly less unpredictability per word — approximately 10.3 bits — but suit situations where fewer rolls are practical. For most users prioritizing both memorability and maximum strength, the EFF long list is the suggested method. Multiple vocabulary options are available in this tool, and you can switch between them to compare results.
Switching to a Different Word List and Customizing Output
Beyond the standard EFF lists, the diceware passphrase generator supports vocabularies in 22 languages including German, Japanese, Dutch, Polish, Swedish, Catalan, and Esperanto — contributed by community members under open source licenses such as the GNU license and Creative Commons CC-BY 3.0. An alternative vocabulary by Alan Beale is also available as an option. This means your passphrase generation can be conducted in your native language, which may further aid memorability.
Within the generator, you have several options for customizing your output format. You can append a word using the +Word (new word) button, append a symbol with +sym (new special), or perform a direct lookup by entering a 5-digit code manually. The separator between words can be set to spaces separator, hyphens separator, or dots separator. You can also format the displayed result in PascalCase, camelCase, snake_case, or random caps (rAnDomCaps). Use the shuffle passphrase button to reorder words if you want to randomize their sequence further. You can click any word to remove it from the passphrase, and use append word or append symbol buttons to extend it. A featured lookup lets you perform a word lookup by entering a 5-digit index directly, while the copyable string at the top lets you copy your result with one click. To store somewhere safe, write it down on paper and memorize it before closing the browser window.
- Diceware (original Arnold G. Reinhold list) — 7,776 entries, full spectrum of English words
- EFF Long List — 7,776 familiar words, same unpredictability, easier to memorize
- EFF Short List 1 — fewer entries, uses four dice instead of five, lower unpredictability per word
- Alternative list by Alan Beale — different English vocabulary, same 5-dice structure
- Language-specific lists (German, Japanese, Dutch, Polish, Swedish, Catalan, Esperanto) — for non-English speakers
- Custom list — submit your own vocabulary for community use
Security, Privacy, and How This Diceware Passphrase Generator Operates
Online protection depends not just on passphrase strength but on the trustworthiness of the tool generating it. This application is designed from the ground up for information integrity and data confidentiality: it runs entirely in your local browser as static files — there is no server side processing, no database, and no network connection required after the initial page load. No data leaves your browser — not your passphrase size, your die rolls, or the output itself. This reflects sound cryptography practice and is a core principle of this tool's design.
How the Secure Random Number Generator Works
The generator relies on window.crypto.getRandomValues(), the JavaScript CSPRNG built into all modern browsers. This is not a pseudo-random number generator seeded by time — it is a cryptographically strong value generator that draws from the browser's secure entropy pool, including hardware sources. Many cryptographic library authors now use this same API as their primary source of unpredictability. Here is what the call looks like in practice:
window.crypto.getRandomValues(new Uint32Array(1));This returns high-quality random bytes suitable for passphrase generation. The browser's value generator is also used to simulate die rolls and emulate a dice roll sequence, producing digits from 1 to 6 for each of the five positions. You can inspect the open source code in the GitHub repository to verify this behavior yourself — all HTML, JavaScript, and CSS assets are versioned with no external dependencies (zero dependencies). The tool is served over an HTTPS connection with HSTS enforced, preventing any man-in-the-middle attack on the code from a non-TLS connection. For offline use, once you load the page you can disable your network connection and the application continues to function from the local browser cache.
Safe Usage: Special Character Options and Operational Security
Even the most cryptographically sound passphrase can be compromised through poor operational habits. Here are the key practices for using this tool most safely:
- Generate passphrases only on a machine you own and control — no public machines or shared devices.
- Ensure no one can shoulder surf your screen while the passphrase is displayed.
- Always access the tool over a verified HTTPS connection — HSTS prevents downgrade attacks.
- Once generated, write it down on paper immediately and store somewhere safe, away from digital exposure.
- Close your browser window as soon as you are done — this removes the displayed result from memory.
- For the highest-protection applications (guarding long-term encryption keys, VT accounts, or disk encryption), use actual dice and perform the diceware lookup manually using a printed reference — this is the official Diceware FAQ recommendation and eliminates any software risk.
- Use the new special button to append a symbol (based on 2 rolls) if your site or service requires one — this adds roughly 5.16 bits of additional unpredictability to your passphrase.
- Use a minimum passphrase size of six words; length directly determines resistance against any brute-force search.
For most users — including those with high online safety needs such as protecting passphrases for credential management, authentication tokens, or encryption keys — the browser-based generator is safe and practical. The value generation is identical in quality to rolling dice from the attacker's perspective: the source of unpredictability is cryptographically equivalent. For nation-state-level adversaries, however, the Diceware FAQ recommends using actual dice to roll 5 values and look them up manually — and this generator supports that workflow through its manual entry and lookup features. Whether you use two die rolls for a symbol or five for a word, the tool accommodates both flows: two rolls generate a symbol from a pool of 36 characters, while five rolls select a word from the full 7,776-entry index. This tool was built with cybersecurity and user confidentiality in mind, is available as an open source project in a versioned GitHub repository, and carries no third-party tracking or analytics. What you generate stays yours alone.
Frequently Asked Questions
- What makes this "genuine" Diceware, and not just another word-based passphrase generator?
- The classic Diceware method (invented by Arnold Reinhold in 1995) works by physically rolling a six-sided die 4 times per word and looking up the resulting 4-digit number in a published word list. This tool does exactly that -- it uses your browser's cryptographically secure random number generator to simulate real dice rolls, then looks each code up in the official EFF short wordlist, and shows you every roll so you can verify the process yourself.
- Why does the entropy grow so fast with each extra word?
- Each word is chosen from 1,296 possibilities (6⁴, since each word needs 4 dice rolls), which is about 10.34 bits of entropy per word. Six words gives roughly 62 bits total -- comparable to a fully random 10-character password using upper/lower/numbers/symbols, but far easier to memorize and type.
- Why use the EFF's word list instead of the original Diceware list?
- The EFF (Electronic Frontier Foundation) published this list specifically to fix weaknesses in the original 1995 Diceware list -- removing offensive terms, avoiding words that are hard to spell or too similar to each other, and keeping every word short (5 characters or fewer) so passphrases stay easy to type. It's the version security professionals commonly recommend today.
- Is a rolled word ever repeated in one passphrase?
- It's not prevented -- each word is an independent dice roll, exactly like rolling physical dice repeatedly. A repeat is possible but statistically rare at typical word counts, and forbidding it would technically reduce the passphrase's true entropy below what the dice rolls represent.
- Is anything about my generated passphrase sent anywhere?
- No. Every dice roll and word lookup happens entirely in your browser using the Web Crypto API's cryptographically secure random number generator -- nothing is transmitted, logged, or stored.