BIP-39 Seed Phrase — Offline Working Sheet

Print this and follow it on paper. Do not write your words on this sheet if you plan to keep it anywhere insecure.

Pre-flight safety checklist

When using this for a real wallet, this computer will be disconnected from the internet (Wi-Fi off / airplane mode / ethernet unplugged) and will stay disconnected for the rest of that session.
I will write my final phrase down by hand on paper (or stamp it in metal) — never type, save, screenshot, photograph, email, or cloud-sync it anywhere.
I am in a private location where no one can see my screen, my dice/coin rolls, or what I write down.

Generating each word's 11 bits of randomness

Every word is a number from 0 to 2047. You need 11 of them for a 12-word phrase, or 23 for a 24-word phrase. The calculator works out the final word for you.

Method A — Coin flips or 11 dice (simplest, no bias, no rerolls)
  1. Flip a fair coin 11 times for one word — or roll one die 11 times, or throw 11 dice at once and read them left to right in an order you fixed before throwing.
  2. Write down Heads = 1, Tails = 0 (with dice, odd = 1, even = 0), in the order you flipped or rolled.
  3. You now have an 11-digit binary number, e.g. 01011010110.
  4. Look that binary number up in the word reference table.
  5. Repeat for every word.
Method B — Dice (5 six-sided dice per word)
  1. Roll 5 dice. Subtract 1 from each face, so each die reads 0–5.
  2. Combine them as a base-6 number:
    (d1 × 1296) + (d2 × 216) + (d3 × 36) + (d4 × 6) + d5
  3. The result is somewhere in 0–7775.
  4. If the result is 2048 or higher, discard it and reroll all 5 dice for that word. This happens just over 70% of the time — that is expected and correct, not an error. Do not try to "fix" a high number by subtracting or wrapping it; that would bias your entropy.
  5. Once you have a number in 0–2047, look it up in the word reference table.
  6. Repeat for every word.

The last word: the remaining bits

Your 11 or 23 words do not fill the phrase exactly. A few entropy bits are left over, and the calculator will show you every word that could validly finish the phrase — one row per possible value of those leftover bits. Those bits are real entropy: generate them the same careful way, then use the number as the row.

12-word phrase — 7 bits left over (rows 0–127)
  1. Flip a coin 7 times. Heads = 1, Tails = 0, in order.
  2. That 7-digit binary number is 0–127. Use it as the row number.
  3. Dice alternative: 3 dice as a base-6 number (d1 × 36) + (d2 × 6) + d3 gives 0–215. Discard and reroll if it is 128 or higher (about 41% of rolls).
24-word phrase — 3 bits left over (rows 0–7)
  1. Flip a coin 3 times. Heads = 1, Tails = 0, in order.
  2. That 3-digit binary number is 0–7. Use it as the row number.
  3. A single 8-sided die works too: roll it and subtract 1.

Never reduce a too-large roll with modulo, wrap it around, or simply pick a row that looks good. Discard and reroll.

Roll tally

Tick off each word as you generate it. Write the numbers here if you must, never the finished phrase.

1  __________   2  __________   3  __________   4  __________

5  __________   6  __________   7  __________   8  __________

9  __________   10 __________   11 __________   12 __________

13 __________   14 __________   15 __________   16 __________

17 __________   18 __________   19 __________   20 __________

21 __________   22 __________   23 __________

Free, independently created tool, provided as-is with no warranty and no liability. Not affiliated with any wallet manufacturer, exchange, or the Bitcoin Improvement Proposals project. Verify results independently before relying on this for anything of real value.
bip39toolbox.com

BIP-39 Offline Toolbox

Checksum calculator, phrase verifier, missing-word recovery and entropy converter — all running locally in your browser, on words you generated yourself.

What bip39toolbox.com can do for you

And why you can check it rather than trust it: zero network requests, enforced by the browser · it refuses to run from a website · it re-proves its own arithmetic every time it loads · the whole source is one click away · nothing is stored but your light/dark preference · one button wipes every field, and an idle timer does it for you · the print sheet never contains your words.
Running self-test…
Re-proving the checksum math in your browser.

File integrity self-check

SHA-256 of this page as loaded: computing…

Verifying this file wasn't tampered with, if it was given to you by a third person and not downloaded directly from bip39toolbox.com

Did someone give you this file? If it reached you as an email attachment, a chat message, a USB stick or a shared folder — anything other than you going to bip39toolbox.com and downloading it yourself — then check it before you type a real seed phrase into it. A single altered character could silently hand your phrase to someone else.

For the best security, download it yourself from bip39toolbox.com. That is the recommended way to get this file, and it is the one case where an extra check is least likely to be needed. A copy that passed through someone else's hands is where it matters most.

Opens the step-by-step instructions in a separate window. Everything runs on this machine; nothing is sent anywhere.

BIP-39 Offline Toolbox

A seed phrase checksum calculator, verifier, missing-word recovery tool and entropy converter in one HTML file — running entirely on your own machine, with the network off. No accounts, no server, no dependencies, nothing to install. Free, and small enough to read in a text editor.

🔒 This calculator only runs when opened as a local file

You are viewing this page over the internet (), and the calculator is switched off. That is deliberate: typing a real seed phrase into any page served by a website means trusting the server, the connection and everyone in between. Download the file and open it from your own disk, and there is nothing left to trust but the file itself — which you can read.
  1. Download the file with the button below
  2. When using it for a real wallet, disconnect the device from the internet
  3. Double-click the downloaded file — it opens in your browser from disk, not from a website
  4. The calculator unlocks by itself once it sees it is running locally

What it does

Safety first

When you are working on a real wallet, the program runs offline, on your own computer — not on a website, not on anyone's server. Disconnect the machine, open the file from your disk, and nothing you type can leave the room.

Generate

Enter the 11 or 23 words you produced with your own dice or coins and it works out the last word that completes the phrase — your 12th word, or your 24th. That final word is not free: it carries the checksum, so only certain words fit. The tool lists every one of them — 128 for a 12-word phrase, 8 for a 24-word one — for you to choose between with your own dice. It never invents randomness; the entropy is yours.

Verify

Check a phrase you already have. If the checksum fails it does not just say "invalid": it points at which word is most likely wrong, suggests near-misses, and spots two adjacent words in the wrong order.

Recover a missing word

One word smudged or torn? Leave that box blank — anywhere in the phrase — and it finds every word that fits the checksum. Type any fragment you can still read and it usually narrows to one.

Convert either way

Raw entropy to phrase, or phrase back to entropy, as hex or binary, with every word's index and 11-bit value shown. Useful for cross-checking this tool against another one.

Dice calculators — no maths

Three physical methods, each with a calculator: coin flips or 11 dice, five dice in base-6, or a d6 plus three d10 rolls. Type the faces exactly as they landed and it works out the index for you, showing every step so you can check it by hand if you want to. Every accept rule is proved uniform by enumerating all possible rolls.

The full BIP-39 table

All 2048 words with their index and 11-bit binary, searchable by word, by number, or by pasting an 11-digit binary string straight in. The same table the calculator itself uses, not a separate copy that could drift.

Yours to keep

One file, 362 KB, nothing to install and nothing that ever needs updating. Download it once and it keeps working — offline, on an air-gapped laptop, from a USB stick, years from now, whether or not this site still exists.

Ten languages

All ten official BIP-39 word lists — English, Spanish, French, Italian, Portuguese, Czech, Japanese, Korean and both Chinese. English always loads by default.

Why you can check it rather than trust it

Check the download before you trust it

Downloading from here is better than accepting a copy from someone else, but it is not a substitute for checking. Compute the file's SHA-256 after downloading and compare it against the hash published at bip39toolbox.com/hash — deliberately a different page from this one, so that replacing the download would not be enough to fool the check. The file explains exactly how, for each operating system, once you open it.

Free, independently created, provided as-is with no warranty and no liability. Not affiliated with any wallet manufacturer, exchange, or the Bitcoin Improvement Proposals project. Verify results independently before relying on this for anything of real value. The full disclaimer is in the file.

Before you begin — required checklist

The tool below stays locked until all three are checked.
Prints the checklist and the dice/coin guide only — never any words you have entered.

Generating your own entropy (the words you provide)

Each word needs to be chosen with 11 bits of genuine randomness (a number from 0 to 2047). Two reliable ways to do that:

Coin flips or 11 dice (simplest, no bias, no rerolls)

Flip a fair coin 11 times per word. Heads = 1, Tails = 0, in order. That gives you an 11-digit binary number (e.g. 01011010110) — paste it straight into the search box below.
No coin? Dice do the same job. Read odd = 1, even = 0 — a die's six faces split three and three, so that is exactly as fair as a coin flip. Either roll one die 11 times, or throw 11 dice at once and read them in a fixed order, left to right. Decide that order before you throw: picking it after seeing how they landed lets you steer the result. No arithmetic either way, and nothing is ever discarded.

Dice (5 six-sided dice per word)

Roll 5 dice. Subtract 1 from each face (so each die = 0–5), then combine as a base-6 number: (d1×1296)+(d2×216)+(d3×36)+(d4×6)+d5. This gives 0–7775 — more values than the 2048 you need, so some rolls have to be thrown away. There are two fair ways to do that:
Faces rolled — five dice, in order
Enter the five faces exactly as they landed, 1 to 6. Nothing is stored.

Decimal dice (1 d6 + 3 rolls of a d10)

Read the index straight off the dice as a four-digit number — no multiplying, no adding, nothing to work out.
  • d6 → 1,2 = 0   3,4 = 1   5,6 = 2  (thousands)
  • d10, three times → 0–9, reading 10 as 0  (hundreds, tens, units)
If the four digits read 2048 or higher, reroll all four dice. That happens 31.7% of the time. About 5.9 throws per word, and every digit is read, never computed.
d6, then the d10 three times
·
Enter the d6 face and the three d10 results. Nothing is stored.

1. Choose what you're doing

The ten official BIP-39 lists. English is always the list on load.

2. Enter your words (in order)

Type each word you generated with dice or another random method. Only official BIP-39 words are accepted — the box turns green when a word matches exactly.

Entropy ↔ phrase

Convert either way between the raw bits and the words. Neither direction invents anything — it is the same 11-bits-per-word mapping the calculator above uses, read forwards or backwards.

For anyone who generated all the bits in one go — a coin-flip log, or a hex string from an offline generator — rather than word by word. Paste 128 bits (32 hex characters, or 128 binary digits) for a 12-word phrase, or 256 bits (64 hex, or 256 binary) for 24 words. The checksum word is computed for you, so this produces the complete phrase.

The other direction: phrase → entropy

Reads whatever is in the word boxes above and shows the entropy behind it, plus the index and 11-bit binary of every word. Useful for checking this tool against another one, or for writing the numbers down as a backup that does not depend on the English word list.

This is a second, independent route to the same phrase — useful as a cross-check against the word-by-word path above. It is not a random number generator: the bits must be yours, from dice, coins or hardware. Never paste entropy that came from a website.

How this works

A 12-word BIP-39 phrase encodes 128 bits of entropy + a 4-bit checksum (132 bits total ÷ 11 = 12 words). A 24-word phrase encodes 256 bits + an 8-bit checksum (264 ÷ 11 = 24 words). Your 11 (or 23) words already supply 121 (or 253) bits. That leaves 7 unknown entropy bits (12-word) or 3 unknown entropy bits (24-word) still needed before the checksum can be computed — this tool lists every word that could correctly complete your phrase for each possible value of those remaining bits, so you can pick one using your own independent randomness (e.g. roll a die to land on one of the rows below), rather than letting software choose for you.
Word list source & integrity
The 2048-word list embedded in this file was pulled directly from the official Bitcoin BIPs repository (bitcoin/bips, bip-0039/english.txt) and its SHA-256 hash was verified to match the published official checksum (2f5eed53a4727b4bf8880d8f3f199efc90e58503646d9ff8eff3a2ed3b24dbda) before being embedded here. A human-readable, indexed version of the same list is also available at:
github.com/hatgit/BIP39-wordlist-printable-en (for offline reference/printing only — this calculator does not load anything from that link).

Danger zone

When you're finished, clear everything from memory, and optionally remove the file itself from your computer.
What "master delete" does and does not cover. It clears and then re-reads every word input, the manual entry field, the results table and the final phrase, and it overwrites the tracked entropy byte arrays with zeroes. That much is genuinely verified rather than assumed.

It cannot overwrite JavaScript strings. Strings are immutable in JavaScript, so the words you typed, the assembled phrase, and the generated table markup may survive as unreachable copies in the browser's heap until garbage collection gets to them — there is no way for this page to scrub them in place. It also cannot touch your browser history, the disk cache, or OS-level swap and hibernation files.

So treat this button as tidying the screen and the buffers it can reach, not as a secure wipe. Closing the tab, quitting the browser, or working from an offline live-boot session that discards all state on shutdown remain the real mitigations — which is exactly why this note refuses to claim more than it can prove.
Off by default. In case you walk away mid-session with real words on screen. You'll get a 30-second warning first, and any keypress, click, or scroll resets the timer.

Disclaimer

This is a free, independently created tool, provided as-is and free of charge, with no warranty of any kind, express or implied. It is not affiliated with, endorsed by, or supported by any wallet manufacturer, exchange, or the Bitcoin Improvement Proposals project. You use this software entirely at your own risk. The creator(s) of this tool accept no responsibility and no liability whatsoever for any loss of funds, loss of access to a wallet, loss of data, or any other direct, indirect, incidental, or consequential damages arising from the use, misuse, or inability to use this software — including but not limited to software errors, user error, hardware failure, or the loss, theft, or exposure of a written seed phrase. Always independently verify results (see the "Word list source & integrity" section above) before relying on this tool for anything of real value.