Passphrase Forge
Passphrase Forge builds random passphrases entirely in your browser using its cryptographic random generator over a fixed 7,776-word list (about 12.9 bits per word), so a six-word phrase carries about 77.5 bits of entropy. Nothing you generate here is ever sent over the network.
Private by construction: every passphrase is generated on your
device with crypto.getRandomValues and never transmitted, stored,
or logged by this site. The only network request this page makes is downloading
the public wordlist itself.
Generate a passphrase
What this setting is worth
| Guessing rate | Average time |
|---|
Separators and capitalization chosen from fixed menus are styling, not secrets: they add no entropy, and the math above does not count them. All entropy comes from the word choices.
Dice mode (fully offline)
Prefer randomness you can see? Roll five ordinary six-sided dice per word and
type the digits below — for example 31452 for one word, five
digits per word. The lookup happens on this page; with the downloaded list you
can do it with no computer at all.
Download the wordlist
The list is public and versioned; keeping it secret adds nothing. Entropy comes only from which words the dice or the random generator pick.
- — 7,776 words plus selection metadata.
-
— one
11111 wordline per entry, generated in your browser for printing and offline dice rolls.
Methodology: why phonetic distinctness
Passphrases get read aloud: over the phone to a colleague, across the room to family, into support calls. Widely used diceware lists (such as the EFF long list) are tuned for typing — unique prefixes and edit distance — but they do not exclude words that sound identical. When a phrase is dictated, sound-alike pairs turn into transcription errors and lockouts.
This list is built for the read-aloud channel. Every candidate word was kept only if, in this build's retained CMUdict pronunciations, none of its pronunciation variants (stress ignored) is shared with any other spelling in the pronunciation index. Sound-alike pairs like night/knight or pair/pare are excluded entirely — both members are dropped, so no phrase depends on hearing the difference.
How the list was selected
- Exactly 7,776 words (65), so five dice rolls select one word and each word contributes log2(7776) ≈ 12.92 bits.
- 4–8 letters, lowercase a–z only, and 1–3 syllables in the primary retained pronunciation — short enough to type, short enough to say.
- Drawn from this build's most common ranking bands (a build-specific ordering, not a universal usage claim), ranked by tier and frequency proxy before the cutoff.
- Words on this build's offensive-word list, flagged abbreviations, apostrophes, and exact-pronunciation collisions are excluded.
Limitations
- Pronunciation facts come from the retained CMUdict variants in this data release (v1/2026.07-lexical.6), which primarily reflect North American English; sound-alike pairs in other accents may not be caught.
- The entropy figures assume the attacker knows the wordlist and your settings and must search the word choices; they say nothing about reused or partially known phrases.
- Randomness comes from your browser's
crypto.getRandomValues; dice mode is only as random as your dice and rolling. - The offensive-word screen is list-based and imperfect; regenerate if a combination reads poorly.
- This page generates passphrases; it does not store them. Keep the result in a password manager or written down somewhere safe, and use a different passphrase for every account.