Diceware Passphrase Generator

Generate memorable multi-word passphrases from the EFF wordlists with a cryptographic RNG — or type your own physical dice rolls. Everything runs in your browser; nothing leaves your device.

Try:
Passphrase

About this tool

Diceware is a way to build passwords you can actually remember: instead of a jumble of characters, you chain random common words — the classic "correct horse battery staple" idea. Each word is chosen by (real or simulated) dice rolls against a fixed wordlist, so every word adds a known, provable amount of randomness. This generator uses the EFF wordlists — the EFF long list (7,776 words, five dice per word, ~12.9 bits of entropy per word) and the EFF short list (1,296 shorter words, four dice per word, ~10.3 bits per word) — and draws words with your browser's cryptographic random number generator. Nothing is sent anywhere: the wordlists and the RNG run locally on your device.

Pick how many words you want (six is the widely recommended default — about 77.5 bits), choose a separator, and optionally capitalize the words or append a random digit or symbol for sites that demand mixed character classes. You can also generate a whole batch at once, or flip on Show dice rolls to see the five-digit roll behind every word.

Purists can do it the traditional way: roll physical six-sided dice and type the digits into the Your own dice rolls field (five digits per word for the long list, four for the short list). The tool then simply looks the words up — fully deterministic, no RNG involved.

Worked example

Typing the dice rolls 62315 14534 23633 31662 35553 44151 with the EFF long list and a hyphen separator produces:

tiger-canal-dolphin-garlic-lantern-pebble

Entropy: 77.5 bits — strength: strong
Recipe: 6 words from the EFF long list (7,776 words, 12.9 bits/word)
Crack time: about 339 thousand years (offline, 10 billion guesses/sec)

Six random words feel almost silly to type — and would still take a modern offline cracking rig hundreds of thousands of years to brute-force on average.

Limits and notes

FAQ

How many words should my passphrase have?

Six words from the EFF long list (~77.5 bits) is the widely recommended baseline for anything important, and it's this tool's default. Five words (~64.6 bits) is acceptable for lower-value accounts; use eight or more (~103+ bits) for a password-manager master password, disk encryption, or cryptocurrency wallets. Each extra long-list word adds ~12.9 bits — roughly a 7,776× harder brute-force.

What's the difference between the EFF long and short wordlists?

The long list has 7,776 words (five dice per word, ~12.9 bits each) and includes words up to 9 letters. The short list has 1,296 words (four dice per word, ~10.3 bits each) that are at most 5 letters long — easier to type on phones, but you need more of them for the same strength: six short-list words ≈ 62 bits, about the same as five long-list words.

Is it safe to generate a passphrase in the browser instead of rolling real dice?

The words are drawn with the browser's cryptographic RNG (the same class of generator used for TLS keys), with rejection sampling so every word is exactly equally likely. That is more than adequate. If you prefer the traditional ceremony — or don't want to trust any software RNG — roll physical dice and type the digits into the "Your own dice rolls" field; the tool then only performs the wordlist lookup, entirely offline on your device.

Does capitalizing words or adding a digit make the passphrase stronger?

Capitalization adds nothing: it's deterministic, so an attacker's cost is unchanged. The "append a random digit" (+3.3 bits) and "append a random symbol" (+3.6 bits) options add a little real entropy because the character is randomly chosen — but a whole extra word adds ~12.9 bits, so prefer another word when strength is the goal. The extras mainly exist to satisfy password rules that demand digits or symbols.

Why does the strength report assume the attacker knows my method?

That's the honest (Kerckhoffs') assumption behind every diceware entropy figure: the attacker is assumed to have the exact wordlist and to know you picked N words. The entropy is then exactly N × log2(list size) — for six long-list words, 7,776⁶ ≈ 2.2 × 10²³ possibilities. Any "extra" security from the attacker not knowing your method is a bonus, never something to rely on.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool diceware-passphrase 'words=6'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/diceware-passphrase/?words=6&wordlist=eff-long&separator=hyphen&capitalize=true&add_number=true&add_symbol=true&count=1&show_rolls=true&rolls=e.g.%2062315%2014534%2023633%2031662%2035553%2044151

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.