Skip to main content
Cryptography

BIP39 seed phrases: what those 12 words actually are and how HD wallet derivation works

Your seed phrase isn't a password — it's deterministic entropy encoded as words. Here's the full chain: entropy → checksum → wordlist → PBKDF2 seed → master key → HD wallet.

Thien Nguyen
By Thien Nguyen
Updated July 20, 2026 · 4 min read

Every hardware wallet, software wallet, and browser extension in the crypto space hands you a 12-to-24-word seed phrase at setup and tells you to write it down and never lose it. What they rarely explain is what those words actually are — not metaphorically, but cryptographically. Understanding the mechanism makes it clearer both how to protect the phrase and why losing it means losing everything irreversibly.

Step 1: entropy

A BIP39 seed phrase begins with raw random bits. A 12-word phrase encodes 128 bits of entropy; a 24-word phrase encodes 256 bits. These bits come from a cryptographically secure random number generator — the same class of randomness used for AES keys and TLS session tokens — not from anything derived from your name, date of birth, or any other guessable input.

The entropy is what makes the phrase irreducible. There's no weaker representation of a 12-word seed phrase; the words are the 128 bits. Whoever holds those words holds the entropy, and whoever holds the entropy can reconstruct everything downstream.

Step 2: checksum

Before converting to words, a checksum is appended. For 128 bits of entropy, the SHA-256 hash of the entropy is computed and the first 4 bits are appended — giving 132 bits total, which divides cleanly into 12 groups of 11 bits. For 256-bit entropy, 8 checksum bits are appended, yielding 264 bits = 24 × 11.

The checksum is why wallets can tell you immediately if you've mistyped a word: a randomly wrong word produces an invalid checksum, so single-word errors are caught before any expensive key derivation happens. It is not error-correcting (it can't tell you which word is wrong), only error-detecting.

Step 3: the wordlist

Each 11-bit group (values 0–2047) maps to a word in the BIP39 English wordlist, which has exactly 2,048 entries. The wordlist was carefully chosen: the first 4 letters of every word are unique, so partial words can be unambiguously identified; common confusable-word pairs were excluded; the words are short and typeable.

The words themselves carry no meaning or narrative — "witch collapse practice feed shame open despair creek road again ice least" is just 132 bits of random data plus checksum rendered into something a human can write down and recognize typos in. The meaning is in the underlying bits, not in any property of the words themselves.

Step 4: PBKDF2 → the seed

The mnemonic words are not the wallet key. They're input to a key stretching function: specifically PBKDF2-HMAC-SHA512, run for 2,048 iterations, with the salt "mnemonic" + optional passphrase. The output is a 512-bit number — the BIP39 seed.

The passphrase (sometimes called the "25th word") is a feature BIP39 supports but most wallets make optional. An empty passphrase is valid and the most common case. Adding a passphrase produces a completely different 512-bit seed from the same mnemonic, giving you plausible deniability: hand over the mnemonic without the passphrase and an attacker gets a different (decoy) wallet.

Step 5: HD wallet derivation (BIP32/BIP44)

The 512-bit seed feeds into BIP32 hierarchical deterministic key derivation: an HMAC-SHA512 split that produces a 256-bit master private key and a 256-bit chain code. From this root, a tree of child keys is derived — one for each account, one for each address within each account — all deterministically from the single master private key.

The path notation m/44'/60'/0'/0/0 describes the exact derivation path: BIP44 purpose (44'), Ethereum coin type (60'), account 0, external chain, first address. Change any component and you get a completely different key and address, but given the same seed you always arrive at the same key deterministically.

This is the magic of HD wallets: a single 12-word phrase is the root of an entire tree of keys, covering Bitcoin, Ethereum, and every other BIP44 coin in a single backup. Lose the phrase and you lose access to every branch of the tree simultaneously.

Why the phrase is the single point of failure (and strength)

Because the derivation is deterministic and the wordlist is public, there's no secret algorithm — only the entropy matters. There's no recovery mechanism, no "forgot my seed phrase" button, no customer support. The phrase is simultaneously the strongest and most fragile thing in the system: 128 bits of entropy brute-force in 2^128 attempts (infeasible), but write it on a sticky note taped to your monitor and the security collapses instantly.

Explore the derivation yourself

Our BIP39 Mnemonic Converter generates a fresh cryptographically random seed phrase or validates an existing one — showing the raw entropy, the checksum bits, and the derived 512-bit seed, all computed in your browser. Nothing is sent to a server, which is the only way to safely work with material this sensitive.

References

Primary documentation and specifications checked when this article was last updated.

CryptographyWeb3Fundamentals

Related articles

All articles