The last word is not yours to choose.
Every seed phrase ends in a checksum. Give this page the words you have and it returns every final word that produces a valid phrase — and nothing else.
How to run it safely — 6 steps
Browser extensions are the risk this page cannot touch. An extension can read everything you type here and every phrase generated, and no web page can prevent that. Private browsing is not a reliable defence: Chrome and Firefox disable extensions in private windows by default, but that is a per-extension switch many people turn on — and Safari runs them in Private Browsing by default. Use a browser profile with no extensions installed.
- Download this page and check its checksum against the published one.
- Make a fresh browser profile — Chrome/Edge: profile icon → Add; Firefox:
about:profiles→ Create a New Profile. Install nothing into it, sign in to nothing. - Turn off Wi-Fi and unplug any network cable.
- Open a private window in that profile and drag the saved file onto it.
- Check the badge below reads Offline — no route out, then press Verify this page and confirm it says 12 of 12 checks passed.
- Write the phrase down by hand — never the copy buttons — then quit the browser completely before reconnecting.
crypto.getRandomValues. Nothing is stored, logged, or sent.Why can’t I just choose my own last word?
Because it is not free text. The final word carries a checksum over everything before it, so only a small set of words produce a phrase a wallet will accept. Pick any other and the wallet rejects the whole phrase as invalid — which is what this page is for: it works out which words qualify.
How many endings will actually work?
Far fewer than the 2048 words in the list, and fewer the longer your phrase. The final word carries the last few entropy bits plus the entire checksum, so the longer the phrase, the more checksum that one word has to hold.
| Phrase | You supply | Checksum bits | Valid endings |
|---|---|---|---|
| 12 words | 11 | 4 | 128 |
| 15 words | 14 | 5 | 64 |
| 18 words | 17 | 6 | 32 |
| 21 words | 20 | 7 | 16 |
| 24 words | 23 | 8 | 8 |
Why do longer phrases give fewer choices?
Every phrase sets aside a fixed number of bits for its checksum, and the last word is where they live. A 12-word phrase sets aside 4 of them, leaving 7 bits free — that is 27 = 128 endings. A 24-word phrase sets aside 8, leaving only 3 free, so just 23 = 8 words can finish it. Each extra checksum bit halves your options.
What if the missing word is not the last one?
This page only works out the final word. If a word is missing from somewhere in the middle, the checksum still narrows it down — for a 12-word phrase, to roughly 128 of the 2048 possibilities — but that is a different search, and this page does not do it.
Does the checksum give away anything about my other words?
No. The checksum is derived from your words, not the other way round, and it is not part of the secret — it exists so a wallet can catch a typo instead of silently opening an empty account. Someone holding only your last word learns nothing useful about the rest.
Where does the randomness on this page come from?
From crypto.getRandomValues, the browser’s cryptographic generator.
There is no Math.random anywhere in this file. The word list holds
2048 = 211 entries, so eleven raw bits pick a word outright: the code masks
off those bits rather than folding a bigger number down with a remainder, which means
every word is exactly equally likely — no bias to correct and no retry loop that could
introduce one.
What does the entropy read-out actually measure?
Not entropy — nothing can measure the entropy of a phrase. Entropy is a property of how words were chosen, not of the words themselves, so a genuine random draw can look terrible and a hand-picked one can look fine. What it does instead is look for the fingerprints of hand-picking — repetition, wordlist order, words bunched into one stretch of the list — and report the search space an attacker would face having spotted them. Treat it as an upper bound, never as proof your words are random.
Why do 23 identical words score only 11 bits?
Because “the same word 23 times” is only 2048 possible phrases, one per word in the list, and log2(2048) = 11. Repeating a word more times adds nothing at all — every word after the first is already determined. A 23-word repeat is exactly as weak as an 11-word repeat, which is the clearest demonstration there is that length is not entropy.
Is a phrase generated here as good as one from a hardware wallet?
The randomness is of the same quality: both draw from a cryptographic generator, and 24 random words is 256 bits either way. What differs is the machine. A hardware wallet builds the phrase on a device that does one job and never hands it to an operating system running everything else you have installed. A browser on an ordinary computer cannot make that promise, which is why the guidance above is worth following.
Does anything I type here leave my computer?
No. The page makes no network requests of any kind, and a Content-Security-Policy blocks them outright — no fonts, scripts, styles or images load from anywhere. Nothing is stored or logged. That covers this page only, though: a browser extension can read what you type here, and no web page can stop it.
How do I know this page has not been altered?
Press Verify this page. It hashes its own built-in word list and compares the result against the official BIP-39 list, and works out the endings for nine examples whose correct answers are published in the standard. Change a single word in the embedded list and the check fails, showing a different hash.