PrivacyToolkit
Back to Guides

How to Generate a Seed Phrase Using Dice: BIP-39 Offline Security

July 31, 2026
•
Privacy Toolkit

🎯 Summary

  • Zero Trust Setup: By rolling physical dice, you bypass trusting software random number generators (RNGs) completely.
  • What You Need: 1 eight-sided die (d8), 2 sixteen-sided dice (d16), a pen, paper, and the BIP-39 wordlist table.
  • The Process: Roll for 11 words, then figure out the 12th word (the checksum) by testing a small set of possibilities directly in a secure wallet.
  • Self-Custody Reality: This is as “do-it-yourself” as crypto security gets. Perfect for storing life-changing amounts of wealth.

Generating a seed phrase usually means clicking a button in a wallet app or on a hardware device and writing down the 12 or 24 words it spits out. That is fine for most people. But if you want absolute, unbreakable paranoia-level security? You generate it yourself.

Why? Because trusting a computer’s Random Number Generator (RNG) means trusting the developer who wrote it, the compiler that built it, and the hardware that runs it. By using physical dice, you are creating true entropy in the real world. Nobody can hack a pair of plastic dice.

Here is exactly how to generate a 12-word BIP-39 seed phrase completely offline, using nothing but gravity, plastic, and basic math.

Generating a seed phrase using physical dice


🎲 What is a Seed Phrase (BIP-39)?

A seed phrase is a human-readable representation of a massive cryptographic number. The standard most wallets use is called BIP-39, which relies on a specific English wordlist containing exactly 2048 words.

Every word corresponds to a number from 1 to 2048. When you generate a seed, you’re just picking random numbers and finding their matching words.

💡 Why 12 words instead of 24? 12 words provide 128 bits of entropy, which is mathematically impossible to brute-force before the sun burns out. 24 words doubles the security (256 bits), but also doubles your chances of making a backup mistake. For the vast majority of users, 12 words is more than enough.


⚖️ Wallet vs. Dice Generation

How does manual generation stack up against letting your hardware or software wallet do the work?

FeatureWallet-GeneratedDice-Generated
Trust ModelTrust the manufacturer / developerTrust physics and math
Entropy SourceSilicon RNG chipGravity and physical rolling
Offline CapabilityHigh (hardware wallets)Absolute (air-gapped physical)
VerificationOpaque (hard to verify RNG)Transparent (you see the rolls)
DifficultyVery easyRequires time and attention

🛠️ Materials Needed

Before we start rolling, you need the right gear. Don’t cheap out on this part.

💡 Where to buy the dice? You can find d8 and d16 dice on Amazon, at board game stores, or at tabletop RPG shops (D&D supplies). They cost a couple of dollars. Use different colors (e.g., blue d8, purple d16, white d16) so you never mix them up.

⚠️ No 16-sided dice? You can technically use hex-rolling methods with standard casino dice, but the d8 + 2x d16 method we are covering is much faster and less prone to mapping errors.

Materials needed: d8 and d16 dice set


📝 Step-by-Step Guide

Step 1: Roll the Dice

Grab your three dice and roll them all together on a flat surface. Always read them in this exact order:

  1. d8 (e.g., Blue) → first number
  2. First d16 (e.g., Purple) → second number
  3. Second d16 (e.g., White) → third number

Write the three numbers on your paper, separated by dashes. Example: if the blue die shows 1, the purple shows 1, and the white shows 6, write 1-1-6.

Step 2: Look Up the Word

Open your printed lookup table. The columns are labeled “First” (d8), “Second” (first d16), and “Third” (second d16). Find the row matching your combination.

Here’s an excerpt from the table so you can see how it works:

FirstSecondThirdWord
111abandon
112ability
113able
114about
115above
116absent
117absorb
118abstract
119absurd
1110abuse
1111access
1112accident
1113account
1114accuse
1115achieve
1116acid
121acoustic
122acquire
123across
124act

So 1-1-6 maps to absent. Write it down as “1. absent” on your paper.

📥 Download the full 2048-word BIP-39 dice lookup table as PDF (d8+2×d16) — print it and use it offline during the procedure. Source: TRMG by Valerio Vaccaro.

BIP-39 word lookup table example: roll 1-1-6 maps to the word "absent"

Step 3: Repeat Until You Have 11 Words

Repeat Steps 1 and 2 until you have written down 11 words in total on your paper. Not 12 — the 12th word is calculated differently (see below).

Take your time. Double-check every single roll and every table lookup before moving on. One wrong word makes the entire seed unusable.

Step 4: The 12th Word (Checksum)

The 12th word in a BIP-39 seed phrase isn’t entirely random. It contains a “checksum” — a mathematical verification that the first 11 words form a valid sequence. You can’t just roll for the 12th word like the others. But you can figure it out yourself.

Here’s how:

  1. Roll your d8 and one d16 — you get two numbers (e.g., 2 and 5).
  2. Look up “2-5” in the table: you’ll see there are 16 rows for that combination (one for each possible Third value, from 1 to 16). Each row corresponds to a different word. Your 12th word is one of these 16.
  3. Open a secure wallet — a hardware wallet (Coldcard, Trezor, Ledger) or a wallet app on an offline device. Start the “Recover” / “Import existing seed” function.
  4. Enter your 11 words, then try the first of the 16 candidate words as the 12th. If the wallet says “invalid seed”, try the second, then the third, and so on.
  5. One of the 16 words will pass validation — that’s your correct 12th word. Write it down on your paper.

The 16 possible final words (checksum) for a 2-5 roll combination

⚠️ Warning: Never enter your words on a random website or online tool. Perform this step only on an offline wallet or a trusted hardware wallet. The risk is that someone intercepts your words.

💡 Practice run: If you’ve never done this before, try it first with a free wallet (like MetaMask on an old phone disconnected from the internet). Once you understand the flow, repeat the real procedure on a hardware wallet for your actual seed.

Congratulations. You just created a perfectly secure seed phrase out of thin air.


🛡️ After Generation: Security & Import

You have your 12-word seed phrase written on a piece of paper. Now you need to protect it and import it.

Secure the physical backup

Paper burns, ink fades. For long-term storage, consider engraving the words onto a steel plate (products like Cryptosteel or Billfodl exist specifically for this). Store the backup in a secure location, separate from your wallet device.

Import into a compatible wallet

Pretty much every reputable wallet supports importing a 12-word BIP-39 seed phrase:

  • Hardware Wallets: Trezor, Coldcard, and Ledger all allow you to “recover” or “import” an existing seed phrase during the initial setup.
  • Software/Smart Contract Wallets: DeGate Wallet supports importing self-generated seed phrases, maintaining exceptional privacy and giving you full control over your keys.

This site is supported and sponsored by DeGate Wallet, an exceptional multi-chain self-custody wallet focused on maximum privacy and security. Discover the new DeGate Card!


This article is for informational purposes only and does not constitute financial, legal, or tax advice. Never share your seed phrase with anyone. An error during the manual generation process could result in the irreversible loss of funds.

Navigation Menu