What is a BIP39 seed phrase?
A BIP39 seed phrase is a list of 12 to 24 ordinary words that encodes the random number a crypto wallet is built from, plus a checksum so typos are caught. This tool generates a valid phrase from secure random entropy, or checks whether a phrase you paste has a valid checksum. It runs entirely in your browser and is for learning and testing only.
What a seed phrase is
A BIP39 seed phrase, also called a recovery phrase or mnemonic, is a human-friendly way to write down the single random number a crypto wallet is built from. Instead of 256 ones and zeros, you get 12 to 24 ordinary English words chosen from a fixed list of 2,048. The same words always rebuild the same wallet, which is why the phrase is the master key to everything in it.
This tool generates a valid phrase from secure random numbers, or checks whether a phrase you paste is well-formed. It runs entirely in your browser and never uploads anything. It is built for learning how the format works and for testing, not for protecting real money.
How the words are chosen
Generation starts with pure randomness (128 bits for a 12-word phrase, up to 256 bits for 24 words) taken from the browser's cryptographic random source. A short checksum is then added, equal to the first few bits of the SHA-256 hash of that randomness. The combined bits are sliced into groups of 11, and each group (a number from 0 to 2,047) picks one word from the list.
That last word, "about", is not free choice: it carries the checksum for a phrase of all zeros. Change any earlier word and "about" would no longer fit.
Why checking matters
Because the final word encodes a checksum over all the others, most random sets of real words are not valid phrases. The check mode uses this: it recomputes the checksum and tells you whether the phrase holds together. A phrase can be made of perfectly real BIP39 words and still be invalid if the last word is wrong or two words are swapped. When that happens, the tool is catching a genuine transcription error, which is exactly the point of the checksum.
This tool stops at the phrase itself. Turning a phrase into actual keys and addresses uses further derivation steps (BIP32 and BIP44) that are deliberately left out, so there is nothing here that could move funds.
The safety rule that matters most
Never use a phrase generated in a web browser to hold real cryptocurrency, and never type a phrase that protects real funds into any website, including this one. A browser can be watched by malware, extensions or screen capture, and anyone who ever sees your phrase can take everything it controls. Real wallets generate their phrase offline, on a dedicated device, and show it to you once. Treat every phrase you make or check here as a throwaway for learning, and you cannot come to any harm with it. For the address side of things, see our Bitcoin address validator.
How we work it out
Generation draws 128 to 256 bits of entropy from crypto.getRandomValues, appends a checksum equal to the first (bits/32) bits of SHA-256(entropy), splits the result into 11-bit groups and maps each to the 2048-word BIP39 English list. Checking reverses this and recomputes the checksum.
Frequently asked questions
Should I use a phrase from this tool for a real wallet?
No. Treat every phrase here as disposable and for testing only. A seed phrase generated in a web browser could be seen by malware, browser extensions or screen capture, and anyone who learns it controls the funds. Real wallets should generate their phrase offline on a dedicated device.
Is anything I type sent anywhere?
No. Generation and checking run entirely in your browser and nothing is uploaded. That said, never paste a seed phrase that protects real funds into any website, including this one. The safe assumption is that any phrase typed into a browser is compromised.
What do the different word counts mean?
More words means more entropy: 12 words is 128 bits, 15 is 160, 18 is 192, 21 is 224 and 24 is 256 bits. 12 words is already far beyond guessable; 24 words is common on hardware wallets for extra margin. The last word always carries the checksum bits.
Why is my phrase invalid when the words look fine?
BIP39 phrases are not just any words from the list. The final word encodes a checksum over all the earlier words, so a phrase with real words but the wrong last word, or words in the wrong order, fails the checksum. That is the check catching an error, exactly as intended.
Does this create a wallet address?
No. This tool only produces or validates the phrase itself. Turning a phrase into keys and addresses uses further derivation (BIP32/BIP44) that is deliberately left out here. This keeps the tool a simple, safe way to understand how recovery phrases are structured.