Passphrase Generator (Diceware-style)
Generate memorable passphrases from a 256-word diceware-style list, with separators, digits, symbols and live entropy estimates. All randomness is local.
Options
How it works
- Each word is picked with
crypto.getRandomValuesfrom a fixed list of 256 short, memorable words — the same idea as the classic diceware scheme (5 dice give 6⁵ = 7776 words; here one draw from 256 words gives log₂(256) = 8 bits). - Entropy is estimated as
words × 8 bits, plus about 6.6 bits for a two-digit suffix and about 6 bits for a symbol. A 5-word passphrase with a digit therefore scores roughly 47 bits — comparable to a random 8-character password, but far easier to type. - Word selection uses rejection sampling so every word in the list is exactly equally likely — no modulo bias.
- Generation happens entirely on your device; nothing is transmitted or stored.
About Passphrase Generator
A passphrase strings together ordinary words, and its strength comes from the number of words and the randomness of the draw — not from trick spellings like "p@ssw0rd". Because "correct horse battery staple" style passphrases are long but memorable, they resist both brute-force and human-factors failure better than short random strings that users write on sticky notes.
Do not reuse a generated passphrase across services: treat it like any other secret, keep it in a password manager, and prefer longer word counts (6–8) for master passwords and encryption keys. The entropy estimate assumes an attacker knows your word list and exact generation options, which is the correct conservative assumption.
Where the bits come from
The list holds exactly 256 short words, so each draw carries log2(256) = 8 bits and the estimate scales as words × 8. Words are drawn with `crypto.getRandomValues` plus rejection sampling: any value at or above the largest multiple of 256 is discarded and redrawn, which keeps all 256 words exactly equally likely. Reducing a 32-bit draw with a plain modulo would instead bias the low indices toward extra probability.
That is a smaller alphabet than the EFF long list, which carries 7,776 entries at roughly 12.9 bits per word. Five words from the EFF list is about 65 bits; five from this list is 40. If you need equivalent strength, budget roughly 1.6 times as many words — eight here lands near 64 bits.
What the toggles actually add
The two-digit suffix is a draw from 0 through 99, which is log2(100) ≈ 6.6 bits. The symbol is a draw from eight characters, so it is 3 bits, plus a small amount from its random insertion position — not 6 bits, and not the difference between a weak and a strong passphrase. Both are marginal next to the word count.
The separator and capitalisation options add exactly zero bits. They are display choices you make, not random draws, so they change how the passphrase looks and types but nothing an attacker can measure. Pick hyphen or space for legibility and longer word counts for strength; conflating the two is the usual reason people settle for four words when six cost nothing extra to type.
What the entropy figure assumes
The number is computed as if an attacker knows the word list, the word count and every toggle you set. That is the right conservative assumption, and it is what makes the estimate comparable across generators. What it does not capture is your own memory: entropy measures resistance to guessing, not to recall, and a phrase you have typed into a dozen sites is already burned no matter how many bits it nominally holds.
Word count is the only real dial. Three words is 24 bits, which is thin for anything an adversary can reach offline, so use six to eight for a master password or encryption key and treat the shorter settings as throwaway test material. Generate a batch when you need several candidates, but remember each row is an independent draw — ten rows are not one stronger secret, they are ten secrets to keep track of.
Frequently Asked Questions
How do I generate a secure passphrase?
How strong is a passphrase versus a random password?
Is my data sent to a server?
Do I need an account or API key?
Can I use these tools offline?
All processing happens in your browser. No uploads, no tracking, no servers. Your API keys, configs, and private payloads stay private — 100% client-side.