Settings

What you need

The word lists, and how to check them

Both lists are plain text files on this origin. Their SHA-256 is computed by your browser each time the page loads, so you can compare it with the published lists.

EFF long list, 7,776 words (eff-large.txt): computing...

BIP39 English, 2,048 words (bip39-english.txt): computing...

What this is, and what it is not

Every value comes from the browser's cryptographic random source. crypto.getRandomValues, the same source the browser uses for TLS. Words and characters are picked by rejection sampling, so no entry is ever favoured by a modulo.

The strength is arithmetic, not a colour. Six words from 7,776 are 77.5 bits, whatever the words happen to be. A word list is public; the strength is in the number of words, not in keeping the list secret.

Dice are the honest option. If you do not want to trust any random source you cannot see, roll five dice per word and type them. The page looks the words up and does nothing else.

It does not derive keys with Argon2. That needs a library this origin does not carry, and a derivation that only looks like Argon2 would be worse than none. CAPSULE and the Settings backup derive keys with PBKDF2 and say so.

Nothing is stored, nothing is sent. The page has no history and writes nothing. Clear the clipboard after you paste; other programs can read it.

Questions people ask

How many words do I need?

Six words (77 bits) is enough for anything protected by a slow hash or a login that limits attempts, which is nearly everything. For a master password, a disk, or a key that a stolen file could be attacked offline for years, use eight or more.

Should I add capitals, digits and symbols?

Not for strength; any attacker's list already includes those variations. Add a digit only when a site's rules demand one, and let the length carry the strength.

Is a BIP39 phrase from here safe to use for a wallet?

The words and the checksum are correct and the entropy is the browser's. Whether the machine you generate it on is safe is a question no web page can answer; a phrase that holds real money is best generated on a device that never touches a network, and written on paper.

What does the checker do?

It confirms every word is in the list and that the last word's checksum matches the rest, which catches a misspelled or swapped word. It cannot tell you whether the phrase is the one you meant.

Related tools