BIP39 Mnemonic Code Generator
Generate cryptographically secure BIP39 mnemonic seed phrases (12-24 words). Validate existing mnemonics with checksum verification.
About
A BIP39 mnemonic encodes cryptographic entropy into a human-readable sequence of words drawn from a fixed 2048-word list. The encoding is not arbitrary. Raw entropy of length ENT bits is hashed with SHA-256, and the first ENT32 bits of that hash form a checksum appended to the entropy. The combined bitstring is split into 11-bit segments, each indexing a word. Errors in transcription corrupt the checksum and are detectable. Losing a mnemonic means permanent, irrecoverable loss of all funds derived from it. There is no recovery service. There is no reset.
This tool generates entropy exclusively via the Web Crypto API (crypto.getRandomValues), which sources randomness from the operating system's CSPRNG. It never uses Math.random(). The mnemonic is computed entirely client-side and is never transmitted, logged, or persisted to storage. Validation mode verifies both wordlist membership and checksum integrity. Note: this tool implements BIP39 only. It does not derive HD wallet keys (BIP32/BIP44). For production wallet creation, verify the mnemonic on an air-gapped device.
Formulas
The BIP39 mnemonic encoding process converts raw entropy into a word sequence with an embedded checksum.
Where ENT = entropy length in bits (128, 160, 192, 224, or 256), CS = checksum length in bits (first CS bits of SHA-256(entropy)), and MS = mnemonic sentence length in words.
Where ‖ denotes bitstring concatenation and wordlist is the ordered BIP39 English word list of 2048 entries. Each 11-bit segment is interpreted as an unsigned integer index.
Reference Data
| Word Count | Entropy (bits) | Checksum (bits) | Total (bits) | Security Level | Possible Combinations |
|---|---|---|---|---|---|
| 12 | 128 | 4 | 132 | Standard | 2128 ≈ 3.4 × 1038 |
| 15 | 160 | 5 | 165 | Enhanced | 2160 ≈ 1.5 × 1048 |
| 18 | 192 | 6 | 198 | Strong | 2192 ≈ 6.3 × 1057 |
| 21 | 224 | 7 | 231 | Very Strong | 2224 ≈ 2.7 × 1067 |
| 24 | 256 | 8 | 264 | Maximum | 2256 ≈ 1.2 × 1077 |
| BIP39 Wordlist Properties | |||||
| Total Words | 2048 (indexed 0 - 2047) | ||||
| Unique Prefix | First 4 characters uniquely identify each word | ||||
| Encoding | Each word encodes 11 bits (211 = 2048) | ||||
| Languages | English, Japanese, Korean, Spanish, Chinese (Simplified/Traditional), French, Italian, Czech, Portuguese | ||||
| Hash Function | SHA-256 (FIPS 180-4) | ||||
| Standard | BIP39 (Bitcoin Improvement Proposal 39, 2013) | ||||
| Passphrase | Optional. Appended as salt during PBKDF2 seed derivation (not part of mnemonic encoding) | ||||
| Seed Derivation | PBKDF2-HMAC-SHA512, 2048 iterations, produces 512-bit seed | ||||