Diceware Passphrase Generator
Memorable Diceware passphrases from the EFF large wordlist.
Why a passphrase?
A passphrase is a sequence of random words. It trades a little length for a lot of memorability: ostrich-vivid-carton-jukebox is far easier to remember and type than x9$Kp#2v, yet much harder to crack. Passphrases shine wherever a human must actually remember the secret — a password manager's master password, full-disk encryption, or a login you type daily.
The EFF wordlist and entropy
This generator uses the EFF large wordlist: 7,776 words chosen to be common, distinct and easy to spell. Each word drawn uniformly at random adds log₂(7776) ≈ 12.9 bits of entropy. Four words give about 51 bits — fine for rate-limited logins. Six words give about 77 bits, and eight words about 103 bits, which is strong enough for offline-attack scenarios like encryption keys. The strength comes purely from the number of words, not from keeping the method secret: an attacker who knows the wordlist still faces 7776⁶ combinations.
How it works here
The wordlist ships with the page and words are picked with crypto.getRandomValues() using rejection sampling, so every word is exactly equally likely. Your passphrase is generated on your device and never transmitted or stored.
How many words do I need?
Six is the number EFF recommends and the default here: about 77 bits, which is strong enough for a password manager master password. Four (about 51 bits) is fine only where an attacker is rate-limited. Eight (about 103 bits) is the right call for something protecting an encryption key, where an attacker can guess offline as fast as their hardware allows.
Is a passphrase stronger than a password?
Per character, no — a passphrase is much longer for the same entropy. The point is that it is memorable. Use one exactly where a human has to remember and type the secret: a password manager master password, full-disk encryption, a login you type daily. For everything else, a random password in a manager is better.
Does it matter that the wordlist is public?
No. The strength comes from the random choice of words, not from hiding the method. An attacker who knows you used six words from the 7,776-word EFF list still faces 7776⁶ combinations. A secret that depends on the method staying secret is not a secret.
Nothing leaves your browser
- Don't take our word for it — turn off your wifi. Every generator on this site keeps working with the network disconnected. That's the whole proof, and it takes five seconds.
- Every value comes from
crypto.getRandomValues()— the CSPRNG built into your browser, neverMath.random(). - Generated secrets are never transmitted, logged or stored: no server-side generation, no cookies, no localStorage.
- Verify it yourself in the network tab: after loading, the page only talks to our self-hosted, cookie-less analytics — which counts page views and which generator type gets copied, never any value.
- Strict Content-Security-Policy; no third-party script origins.
All generators
- Base64 Secret Generator
- UUID Generator
- Password Generator
- Hex Secret Generator
- JWT Secret Generator
- SSH Key Generator (Ed25519)
- PIN Generator
- WireGuard Key Generator
- API Key Generator
- TOTP Secret Generator
- Django SECRET_KEY Generator
- Laravel APP_KEY Generator
- NextAuth Secret Generator
- Flask SECRET_KEY Generator
- Rails secret_key_base Generator
- Strapi APP_KEYS Generator
- ULID Generator
- Nano ID Generator