BIP-39 CHECKSUM

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.

128 / 2048
Valid 12th words
8 / 2048
Valid 24th words
0
Network requests
Run this offline for anything real. This page makes no network requests and a Content-Security-Policy blocks them outright — but that protects you from this page only, not from your browser or your machine.
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.

  1. Download this page and check its checksum against the published one.
  2. 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.
  3. Turn off Wi-Fi and unplug any network cable.
  4. Open a private window in that profile and drag the saved file onto it.
  5. Check the badge below reads Offline — no route out, then press Verify this page and confirm it says 12 of 12 checks passed.
  6. Write the phrase down by hand — never the copy buttons — then quit the browser completely before reconnecting.
Checking…
Your words — 11, 14, 17, 20 or 23
⌘/Ctrl + Enter to calculate. Generated words come from crypto.getRandomValues. Nothing is stored, logged, or sent.
Questions
The last word
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.

PhraseYou supplyChecksum bitsValid endings
12 words114128
15 words14564
18 words17632
21 words20716
24 words2388
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.

Randomness and entropy
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.

Trust and privacy
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.