Random Passphrase Generator with Entropy Score
A passphrase glues a few randomly chosen words into one long string: easy to type, easy to say, and long enough to make guessing expensive. This page pulls words from the Electronic Frontier Foundation short word list, joins them with the separator you choose, and prints the entropy beside every result. Change any option and a fresh phrase appears, because the word count, the pool, and the extras all move the math.
The number under the output is arithmetic, not a mood. Each word contributes log2 of the pool size in bits, a digit adds its own slice, a symbol adds another, and the breakdown line shows every term that went into the total. Look-alike filtering shrinks the word pool from 1296 entries to 505, and the printed per-word figure drops from 10.34 to 8.98 so the score stays honest.
Generate a Random Passphrase
Word list: EFF Short Wordlist 1.0 (CC BY 3.0), published by the Electronic Frontier Foundation.
How It Works
The generator draws from a fixed list, counts what was drawn, and reports the count in bits. Each step below corresponds to a control on the card above, and the summary line rewrites itself every time one of them moves.
- Set the shape of the phrase. The words slider runs from 3 to 10, the separator select picks the joiner between words, and the capitalization select decides whether the phrase stays lowercase, opens with a capital, or capitalizes every word.
- Choose the extras. A digit appends one random character from the digit pool, a symbol appends one from the symbol pool, and the look-alike filter removes words carrying 0, O, 1, l, or i before anything is drawn.
- The page draws each word with crypto.getRandomValues inside a rejection loop, so every surviving word has the same chance of being picked. Entropy then follows the drawing: word count times log2 of the pool, plus 3.32 bits for a digit or 3.00 with the filter on, plus 3.70 for a symbol.
- Read the strength label beside the total and copy the phrase when it fits. Weak covers anything under 40 bits, fair runs from 40 to 59, strong reaches 89, and excellent begins at 90.
Before and After
Tr7kQm2vLx
10 characters from a 62-character pool
about 59.5 bits (illustrative)
nobody recalls it without a manager trend-heat-ajar-stem-wrath
5 words x 8.98 bits = 44.9 bits (Fair)
read aloud or typed without looking
one more word takes it to 53.9 bits Use Cases
| Developer | Production | Workflow |
|---|---|---|
| Root login on a fresh server | Six words with look-alikes excluded | Phrase read once, then stored in the manager |
| Shared secret pasted in a team channel | Five words and a hyphen separator | Read back across a call without spelling |
| Guest WiFi passphrase for visitors | Digit switched on for router rules | Period separator taped under the keyboard |
| Recovery phrase for a side project | Seven words land above 60 bits | Written on paper and sealed in a drawer |
Common Mistakes
- Picking the words yourself. A phrase of favorite words carries far less entropy than the arithmetic suggests, because guessers start from exactly those choices; the slider only counts what the page actually drew.
- Assuming capitalization adds strength. It adds nothing: the pool does not grow, and the breakdown line stays byte for byte the same when you switch the capitalization select.
- Stopping at three words. With look-alike filtering on, three words land at 26.9 bits, which the label calls weak; move the slider to seven for 62.9 bits and a strong label.
- Reusing one phrase everywhere. Generate a fresh phrase per account so a leak at one service never opens the rest.
Best Practices
- Leave look-alike filtering on for anything typed by hand into a terminal or router label, and read the per-word figure to see its price: 8.98 bits instead of 10.34.
- Reach at least six words for anything lasting. Six filtered words give 53.9 bits, seven give 62.9 and move the label from fair to strong.
- Keep phrases in a password manager, and make the manager's own password long, because length does the same work there as it does here.
- Add a digit or symbol only when a form demands one, and let the breakdown show what it bought: 3.32 bits for a digit, 3.00 with filtering on, and 3.70 for a symbol.
Frequently Asked Questions
What is the EFF short word list, and why 1296 words?
The Electronic Frontier Foundation published the short list so a person with dice could turn rolls into a password without a computer: roll five times, pick the matching word, repeat. It holds 1296 entries, and log2(1296) works out to about 10.34 bits for every word the page draws. The list is shared under CC BY 3.0, and the credit line under the widget links straight to the foundation dice page. This page reads its copy of the list locally, so drawing words never touches the network.
Why use words instead of random characters?
Words are easy to type, read aloud, and retype after a slip, which matters during the moment you are moving a secret from one place to another. The bit counts land faster too: five filtered words give 44.9 bits, while ten characters drawn from a 62-character pool give about 59.5 and nobody recalls them from memory. Adding a word is one click, so the phrase can keep growing long after a character string would have been abandoned. Most people also stop inventing character soup once a word phrase is in front of them.
How is the entropy calculated?
The page multiplies the word count by log2 of the pool size, then adds the bits for any digit or symbol you switched on. With look-alike filtering on, each word is worth 8.98 bits, so four words come to 35.9 and seven come to 62.9. The breakdown line prints that same arithmetic live, for example 4 words x 8.98 bits = 35.9 bits. The strength label then reads the rounded total: weak below 40, fair to 60, strong to 90, and excellent from 90 up.
Do capitalization, digits, and symbols add entropy?
Capitalization adds nothing, because the page only changes letter case, the pool stays the same size, and the breakdown line does not move when you switch it. A digit adds 3.32 bits normally, or 3.00 bits while look-alike filtering has removed 0 and 1 from the digit pool. A symbol adds 3.70 bits from the thirteen-character symbol pool. All three show up as their own terms in the breakdown, so the total never counts something you did not switch on.
What does excluding look-alike characters change?
The filter drops every word containing 0, O, 1, l, or i, which shrinks the word pool from 1296 entries to 505. Each surviving word then carries 8.98 bits instead of 10.34, and the digit pool drops from ten characters to eight. You gain about 1.36 bits per word of typing clarity at the cost of that same amount of entropy. The breakdown updates the moment you flip the box, so the number beside the phrase always describes the pool that was actually drawn from.
How should I store a passphrase?
A password manager is the natural home for it: one long master password protects every generated phrase, and none of them need to live in your head. For a single important account that stays offline, writing the phrase on paper and sealing it somewhere safe works just as well. Length does most of the work, so another word beats another symbol rule on any day. Keep each phrase tied to one account, and regenerate it if a machine may have logged the keystrokes.
Does my passphrase leave the browser?
No. Word drawing runs on crypto.getRandomValues inside this tab, and the page sends no request carrying your options or the finished phrase. Nothing is written to storage either, so closing the tab discards the phrase unless you copied it or wrote it down. The only way it leaves this page is the copy button, which hands it to whatever you paste into next.