GeneratePass
EFF DICERWARE PASSPHRASE

Diceware Generator

Generate real Diceware passphrases using the EFF Short Wordlist.

Strength Rating Calculating...
Security Entropy Calculating...
4710
About Diceware

How Diceware works

Diceware uses a wordlist of 7776 common English words. Each word is selected by rolling dice (or in this case, using cryptographically secure random numbers). The EFF Short Wordlist 2.0 is used for maximum memorability.

Introduction

The original scientifically-backed method for creating memorable, high-entropy passphrases. The Diceware Generator simulates rolling physical dice to select random words from the EFF's 7,776-word Diceware list — the same method recommended by security researchers including Bruce Schneier and endorsed by the Electronic Frontier Foundation. Each dice roll maps to a five-digit number (11111 to 66666), which selects exactly one word from the list. Seven words give you 90.4 bits of entropy — computationally infeasible to crack even with massive GPU clusters. This is the tool that brings the rigor of physical dice to your browser, without the hassle of finding six dice.

What This Tool Does

Why It Matters

Diceware was designed to solve a specific problem: creating passphrases that are both memorable and mathematically secure. Unlike random character passwords that are hard to remember, and unlike human-chosen phrases that are weak, Diceware produces word combinations that are both. The method's strength comes from its transparency — the wordlist is public, the entropy calculation is verifiable, and the randomness source is the only variable. By using crypto.getRandomValues() instead of physical dice, this tool provides the same mathematical guarantees as the original method while eliminating the possibility of biased dice rolls, poor dice technique, or transcription errors.

How It Works

Step-by-Step Examples

Example 1: Generate a 6-word Diceware passphrase
1

The tool simulates rolling 5 dice (via crypto.getRandomValues) to generate a number between 11111 and 66666

2

Each 5-digit number maps to one word in the EFF Diceware list (7,776 words total)

3

This process repeats 6 times to select 6 random words

4

Total entropy: 6 × log₂(7776) ≈ 6 × 12.92 ≈ 77.5 bits

Resultwalnut clarinet tumble prism orbit cobalt — 77.5 bits of entropy, requiring 2.2 × 10²³ combinations to brute-force
Example 2: Generate a 4-word Diceware passphrase for a low-security account
1

Simulate 4 dice rolls to select 4 words

2

Total entropy: 4 × 12.92 ≈ 51.7 bits

3

This is sufficient for general accounts but not for high-value credentials

4

Add a 5th word for master password security

Resultplumber rocket jungle mosaic — 51.7 bits, adequate for email but insufficient for password vaults

Code Examples

javascriptDice Roll Simulation for Diceware Passphrase Generation
// EFF Diceware wordlist: 7,776 words
// Each word is selected by a 5-digit dice roll (11111-66666)
import { EFF_WORDLIST } from './diceware-wordlist.js';

function rollDice5() {
  // Simulate rolling 5 six-sided dice
  // Each die: 1-6, combined as a 5-digit number: 11111 to 66666
  const dice = new Uint8Array(5);
  crypto.getRandomValues(dice);
  return Array.from(dice)
    .map(d => (d % 6) + 1)  // Map 0-255 to 1-6
    .join('');
}

function generateDicewarePassphrase(wordCount = 6) {
  const words = [];
  for (let i = 0; i < wordCount; i++) {
    const roll = rollDice5();
    const index = parseInt(roll, 10) - 11111; // Convert to 0-based index
    words.push(EFF_WORDLIST[index]);
  }

  const entropy = wordCount * Math.log2(EFF_WORDLIST.length);

  return {
    passphrase: words.join(' '),
    wordCount,
    entropyBits: entropy.toFixed(1),
    combinations: Math.pow(EFF_WORDLIST.length, wordCount).toExponential(2)
  };
}

// Usage
const result = generateDicewarePassphrase(6);
console.log(result.passphrase); // "walnut clarinet tumble prism orbit cobalt"
console.log(result.entropyBits); // "77.5"
javascriptPhysical Dice Roll to Word Conversion
// For users who prefer physical dice
function diceRollToWord(rolls) {
  // rolls: array of 5 numbers (1-6 each), e.g., [3, 1, 4, 1, 5]
  const rollString = rolls.join('');
  const index = parseInt(rollString, 10) - 11111;

  if (index < 0 || index >= 7776) {
    throw new Error('Invalid dice roll: must be 5 dice, each 1-6');
  }

  return EFF_WORDLIST[index];
}

// Example: user rolls 3,1,4,1,5 on physical dice
const word = diceRollToWord([3, 1, 4, 1, 5]);
console.log(word); // The word at position 1354 in the EFF list

// Entropy per word: log₂(7776) ≈ 12.92 bits
// 6 words = 77.5 bits total

Diceware Passphrase Entropy by Word Count

WordsEntropy (bits)CombinationsBrute-Force Time (1T h/s)Security Level
338.84.7 × 10¹¹0.0075 secondsWeak — do not use
451.73.7 × 10¹⁵58.6 yearsModerate — low-risk accounts
564.62.8 × 10¹⁹902,000 yearsStrong — general accounts
677.52.2 × 10²³7.0 × 10⁹ yearsVery Strong — sensitive data
790.41.7 × 10²⁷5.4 × 10¹³ yearsExtremely Strong — master passwords
8103.41.3 × 10³¹4.1 × 10¹⁷ yearsMaximum Practical

Diceware vs Other Passphrase Methods

MethodWord SourceEntropy/Word5-Word TotalAuditable?
EFF Diceware7,776 curated English words12.92 bits64.6 bitsYes — public wordlist
Original Diceware (1995)2,048 short English words11.0 bits55.0 bitsYes — public wordlist
PGP Word List256 words (byte values)8.0 bits40.0 bitsYes — but low entropy
Random word generatorsVaries (often small)VariesUnpredictableNo — opaque wordlists

Benefits

  • Uses the EFF Diceware wordlist — the gold standard for passphrase generation, audited and endorsed by security researchers.
  • Simulates physical dice rolls with cryptographic randomness, providing the same mathematical guarantees as the original method.
  • Fully transparent: the wordlist is public, the entropy calculation is verifiable, and the method is well-documented.
  • Supports 3-8 words with real-time entropy calculation showing exact bit strength for your chosen word count.

Use Cases

01

Generating master passwords for password manager vaults that protect all other credentials.

02

Creating high-security passphrases for SSH key encryption and GPG key passphrases.

03

Building shared team passphrases for encrypted communication tools during onboarding.

04

Producing recovery passphrases for cryptocurrency wallet backup seed phrases.

Common Mistakes to Avoid

Using fewer than 5 words — 3 words provides only 38.8 bits of entropy, crackable in under a second at 1 trillion hashes/second.

Adding personal meaning to word selection — the entire security model depends on true randomness, not human intuition.

Reusing the same Diceware passphrase across multiple services — generate a unique one for each account.

Writing down the passphrase without encrypting it — a written Diceware passphrase is only as secure as the physical location it's stored in.

Security Implications

The Diceware method's security rests on two pillars: the size of the wordlist (7,776 words) and the quality of randomness used for selection. With crypto.getRandomValues(), each word has exactly equal probability of selection, providing log₂(7776) ≈ 12.92 bits of entropy per word. A 6-word Diceware passphrase has 77.5 bits of entropy — the same as a 12-character random password with full ASCII character pool. The method is resistant to dictionary attacks because attackers must test 7776⁶ ≈ 2.2 × 10²³ combinations, which would take billions of years even with massive GPU clusters.

Security Information

Frequently Asked Questions

Fundamentals

What is a Diceware Generator?

A Diceware generator is a passphrase creation method that uses dice rolls to select words from a curated wordlist. Originally developed by Arnold Reinhold in 1995, Diceware produces passphrases that are both highly secure and human-memorable. Each word in the passphrase is selected by rolling five six-sided dice, producing a five-digit number that maps to a specific word in the Diceware wordlist.

Our implementation uses the EFF Short Wordlist 2.0, which contains 7,776 carefully selected English words. These words were chosen for being common, easy to spell, and distinct from one another to minimize confusion. The result is a passphrase that provides strong cryptographic security while remaining easy to type and remember.

Technical Deep Dive

How Diceware Generates Entropy

The security of a Diceware passphrase comes from its entropy. With 7,776 words in the EFF wordlist, each word adds approximately 12.92 bits of entropy (log2 of 7,776). A typical 6-word Diceware passphrase provides about 77.5 bits of entropy, which is considered cryptographically strong.

When you roll five dice, there are 6^5 = 7,776 possible outcomes, each mapping to a unique word. Our tool uses the Web Crypto API to generate cryptographically secure random numbers, replacing physical dice with a source of true randomness. This ensures that each word selection is unpredictable and unbiased.

The "Build Your Own" mode allows you to customize a Diceware passphrase with additional transformations. You can substitute characters (like replacing "a" with "@"), add random suffixes, mix capitalization, or insert separators. These modifications add extra entropy while maintaining readability.

Practical Applications

Where to Use Diceware Passphrases

Master Passwords: Diceware excels as a master password for password managers. You need one extremely strong password that protects all your other credentials, and a 6-8 word Diceware passphrase provides that security while remaining memorable.

Disk Encryption: Full-disk encryption tools like BitLocker, FileVault, and LUKS require strong passphrases. A Diceware passphrase protects your entire hard drive against physical theft and offline attacks.

SSH Keys and GPG: When protecting private keys with a passphrase, Diceware provides the ideal balance of security and usability. You can type the passphrase from memory without exposing it to keyloggers.

Wi-Fi Network Keys: For home or office networks that use WPA2/WPA3 personal mode, a Diceware passphrase can serve as a strong network password that guests can easily type without errors.

Security Pitfalls

Common Diceware Mistakes

Using Too Few Words: A 4-word Diceware passphrase provides only about 51.7 bits of entropy, which may be insufficient for high-security applications. Aim for at least 6 words for most use cases, and 8 or more for protecting encryption keys.

Choosing Words Manually: The security of Diceware depends entirely on randomness. If you select words yourself, your choices are predictable and can be guessed much more easily. Always let the generator pick the words randomly.

Not Using Separators: Words without separators (like "correcthorsebatterystaple") can be harder to read and type correctly. Using dots, hyphens, or spaces between words improves usability and reduces typing errors.

Reusing Across Services: Even with a strong Diceware passphrase, reusing it across multiple services creates vulnerability. Use your Diceware passphrase as a master password and generate unique passwords for individual accounts.

Related Passphrase Tools

Related Tools

Explore these additional passphrase and password generation tools:

Frequently Asked Questions

How many words should a Diceware passphrase have?
For most applications, 6 words provide excellent security with about 77.5 bits of entropy. For protecting encryption keys or high-value accounts, consider using 8 or more words (over 100 bits of entropy). The EFF recommends 6 words for most users.
Is Diceware better than a random password generator?
Diceware excels when you need to memorize a strong password, like a master password. Random character passwords (like "x7$kL9!m") are harder to remember but can be stronger for shorter lengths. Use Diceware for memorizable secrets and random generators for passwords stored in a password manager.
What makes the EFF wordlist special?
The EFF Short Wordlist 2.0 was specifically designed to maximize security and usability. Words were chosen to be common English words that are easy to spell, pronounce, and distinguish from one another. This reduces errors when typing passphrases and makes them easier to remember.
Can I use Diceware for my Wi-Fi password?
Yes, Diceware works well for Wi-Fi passwords. A 6-word passphrase is easy for guests to type and remember, while providing strong security against cracking attempts. Use spaces or hyphens between words to make the password more readable.
How is this different from just Googling random words?
Manually selecting words introduces human bias and reduces entropy. People tend to pick familiar or related words, making passphrases predictable. A proper Diceware generator uses cryptographically secure randomness to ensure each word selection is truly unpredictable.