BIP-39 · Validator · Offline
client-side · no data leaves your browser12, 15, 18, 21, or 24 lowercase English words, separated by spaces. Stays in your browser.
What this catches
- Typos in a word (the word isn't in the BIP-39 list)
- Wrong word count (not 12 / 15 / 18 / 21 / 24)
- A swapped, missing, or extra word — the last 4-8 bits are a SHA-256 checksum over the rest, so almost any corruption fails the checksum
What it does NOT check: whether the phrase generates the wallet you think it does. That requires deriving an address at your wallet's exact derivation path + script type — easier to do by restoring on the hardware device and confirming the first receive address.
Safety
This page never sends your phrase anywhere. The validation runs in your browser via the @scure/bip39 library. Still — if this is a *real* seed protecting real funds, treat the act of typing it onto an internet-connected machine as a low-but-non-zero risk. For maximum paranoia, save this page offline (right-click → Save) and use it on an air-gapped machine.
What this tool does
BIP-39 (Bitcoin Improvement Proposal 39) is the standard that encodes the entropy behind a Bitcoin wallet as a list of 12, 15, 18, 21, or 24 dictionary words. The last few bits of the final word are a SHA-256 checksum over the preceding entropy bits — so a phrase that contains a typo, a swapped word, or a missing/extra word will almost always fail the checksum.
This validator does exactly that check, client-side, with no telemetry. It tells you three things:
- Are all your words in the BIP-39 wordlist? Typos and OCR errors get caught here. The wordlist is 2,048 words chosen so that no word is a prefix of another and most are distinguishable by the first four letters.
- Is the word count valid? Only 12, 15, 18, 21, or 24 — anything else isn’t a BIP-39 mnemonic.
- Does the checksum hash-verify? This is the strong check. If even one word is wrong or out of order, the SHA-256 over the entropy bits doesn’t match the trailing checksum bits and the phrase is rejected.
If all three pass, you’ll see the decoded entropy in hex (128 / 160 / 192 / 224 / 256 bits) and a confirmation that the phrase is a mathematically self-consistent BIP-39 mnemonic.
Why you’d use this
The most common scenario: you wrote down 24 words when you set up a hardware wallet, and now — years later — you want to confirm the paper backup is still correct without wiping the device and restoring. Type the words in here, and if the checksum passes, the phrase is at least mathematically valid. It does not confirm the phrase corresponds to your wallet (only a device restore can do that), but it does rule out the most common backup failures: a typo, a smudged letter, a word transposed by two positions, a row written down twice.
What it deliberately doesn’t do
- No address derivation. We don’t ask for a derivation path or generate Bitcoin addresses. That keeps the tool from feeling like “import your seed into our website” — there’s no upside for an attacker compromising this page if it never derives spending material.
- No “validate this and tell me my balance” path. Same reason.
- No passphrase support. A BIP-39 passphrase (the optional 25th word) doesn’t affect checksum validity — it modifies the seed derivation that happens after checksum verification. The phrase you type either passes or fails the checksum independently of any passphrase. If you’re worried whether a passphrase generates the right addresses, restore on a hardware wallet.
Safety considerations
This page never sends your phrase anywhere. The validation runs in your browser using the audited @scure/bip39 library, and the BIP-39 English wordlist is bundled into the page bundle itself — no network requests are made when you click validate.
That said, typing a real seed onto an internet-connected machine is still a low-but-non-zero risk. A malicious browser extension, a keylogger, a compromised input method — any of those would defeat the “client-side” property. For maximum paranoia:
- Save this page offline (right-click → Save Page As → “Web Page, Complete”), disconnect from the internet, and use the saved copy.
- Or use this only on phrases that are not currently protecting real funds — for example, a paper backup whose corresponding wallet has been emptied to a fresh seed, where you’re confirming the paper itself is readable years later.
Related reading
- BIP-39 recovery phrase — the security bible — the full picture: what the words encode, how to store them, the four threat classes worth defending against.
- Cold storage 2026: hardware vs multisig vs SeedQR — decision framework for backup strategy, by asset size and threat model.
- Wallet drainer red flags 2026 — the broader attack landscape this kind of validation defends against.
Specification reference
- BIP-39 spec on bitcoin/bips — original Bitcoin Improvement Proposal text
- BIP-39 English wordlist — the 2,048 words used here
- @scure/bip39 — implementation — small, audited TypeScript library