Secure Bitcoin Seed Phrase Generator

Why This Generator Is Secure

This tool generates a BIP-39 compliant Bitcoin seed phrase (12, 18, or 24 words) right in your browser, using top-tier cryptographic standards for maximum security.

Local Randomness: Powered by crypto.getRandomValues(), a cryptographically secure random number generator built into your browser. It pulls entropy (128, 192, or 256 bits) from your device’s OS—hardware noise, not weak guesses like Math.random(). No external servers involved.

Official Wordlist: Uses the 2048-word list from the official Bitcoin GitHub repository, ensuring compatibility with wallets like Trezor or Ledger.

Checksum Protection: Adds a checksum (4, 6, or 8 bits, based on word count) from a SHA-256 hash of the entropy. This makes your phrase valid and verifiable by standard wallets.

Offline Security Boost: Save this as an HTML file on your computer (right-click, "Save As"), then open it locally with your browser disconnected from the internet. Running it offline eliminates network risks—like fetching the wordlist online—and keeps everything on your device. The wordlist fetch will fail offline, but you can embed it locally (ask for that version if needed). This makes it as secure as many dedicated tools, relying solely on your system’s cryptography.

Wallet Compatibility: Your generated seed phrase works with most BIP-39 compliant wallets. Hardware wallets like Ledger (24 words default), Trezor (12 or 24 words), and KeepKey (12 words) fully support it. Software wallets like Electrum (imports BIP-39 despite its own standard), Blockstream Green, Coinomi, and Trust Wallet also recognize these phrases. Even Lightning wallets like Eclair use BIP-39, though some (e.g., LND’s AEZEED) use the same wordlist with a different scheme. Non-BIP-39 wallets (e.g., older Electrum seeds) need conversion via tools like Ian Coleman’s converter.

Safety Note: While secure locally, browsers can be risky online (e.g., extensions, network fetch). For real funds, save this HTML, run it offline, or use bip39 in Node.js or a hardware wallet.