Z

Passphrase Generator

Create memorable, secure passphrases from random words.

Runs in your browser — files never leave your device

How it works

Click generate and the tool assembles a passphrase from a built-in list of 40 short English words, drawing each word with crypto.getRandomValues — the browser’s cryptographically secure random number generator, not Math.random(). The slider picks 3–8 words; they are joined with your chosen separator (hyphen, dot, underscore or space); Capitalize upper-cases the first letter of every word; and Add number appends a random 0–99 as a final segment, producing phrases like Maple-Quartz-Harbor-Ember-42.

Passphrase strength is measured in entropy bits: log2 of (list size ^ word count). With 40 words, each word contributes log2(40) ≈ 5.3 bits, so four words give about 21.3 bits and all eight give 42.6. The trailing number adds log2(100) ≈ 6.6 bits, taking the maximum configuration to roughly 49 bits — about the strength of a random 8-character alphanumeric password (log2(62^8) ≈ 47.6). Capitalization adds nothing, because it is applied to every word the same way.

For context, the classic diceware scheme uses a 7,776-word list at 12.9 bits per word, so six dice-chosen words reach log2(7776^6) ≈ 77.5 bits — enough to shrug off offline cracking. This generator trades that headroom for short, memorable, easy-to-type words. The practical guidance: the 4-word default (≈ 28 bits with the number) is fine for everyday accounts protected by rate-limited logins, but for anything an attacker could attack offline — a password-manager master password, disk encryption, a crypto wallet — max out the slider, or use a large-list diceware phrase or a long random string from a password manager instead.

The entropy math only holds if you accept what the generator gives you. Words are drawn independently by the secure RNG (repeats are possible, and fine); hand-picking words you like, or rerolling until something feels meaningful, quietly shrinks the space an attacker has to search.

Why a passphrase at all? Maple-Quartz-Harbor-Ember-42 is far easier to memorize and to type — especially on a phone or TV keyboard — than eight characters of line noise at comparable strength. Use each phrase for exactly one account, and keep it in a password manager rather than reusing it.

Frequently asked questions

How strong are these passphrases?
Entropy is log2(40^words) for the 40-word list: about 21.3 bits at four words and 42.6 bits at eight, plus roughly 6.6 bits if the 0–99 number is on — about 49 bits at maximum settings, comparable to a random 8-character alphanumeric password. That is solid for everyday accounts behind rate-limited logins; secrets an attacker could crack offline deserve 70+ bits (see the diceware question).
How are the words chosen?
Each word is drawn independently from the built-in 40-word list using crypto.getRandomValues — the browser’s cryptographically secure random number generator, the same source used for key generation — never Math.random(). Repeated words are possible and fine; excluding them would slightly reduce entropy.
How does this compare to diceware?
Diceware draws from a 7,776-word list (five dice rolls per word), giving 12.9 bits per word — six words reach log2(7776^6) ≈ 77.5 bits, enough to resist serious offline cracking. This tool’s 40-word list yields 5.3 bits per word, trading entropy for short, memorable, easy-to-type words. Compensate with a higher word count, or use a full diceware list for high-value secrets.
Do the Capitalize and Add number options make it stronger?
The number adds about 6.6 bits (log2 of 100 possibilities). Capitalization adds none, because it is applied to every word identically and an attacker can simply try both forms. Both options exist mainly to satisfy sites that demand uppercase letters and digits.
Does the separator choice matter for security?
No — the separator is assumed known to an attacker, so hyphen, dot, underscore and space are equally strong. Choose for practicality: some sites reject spaces, and hyphens are the easiest to type on mobile keyboards.
Is the passphrase sent or stored anywhere?
No. Generation happens in your browser with the Web Crypto API; nothing is transmitted or saved, and the phrase disappears when you leave the page. Copy it straight into a password manager — and generate a fresh one if anyone may have seen your screen.