If you roll your own seed, you do it so you don't have to trust a random number generator. In dice mode the SeedSigner turns 50 rolls into 12 words or 99 rolls into 24 words — following an openly documented computation: SHA-256 over the string of digits, then the BIP39 word list. But how do you know the device really computes it that way? By doing the math yourself, once. The Dice Check is a single HTML file that does exactly that: no server, no connection, no third-party code. Free, open source, part of the workshop pack for the upcoming volume 4 "Die eigene Bank – Bitcoin meisterlich verwahren" (German first, English edition to follow).
⚠ Throwaway seeds only
The string of digits is the seed. Whoever knows the 99 digits owns the wallet. So you use this to test the method, never your real seed: roll a practice seed, recompute it, discard it. If the device gets the practice digits right, it gets everything right. Your real seed is created on the device afterwards and never leaves it.
For anything beyond a quick look: save the file, disconnect, open it with a double-click. It works exactly the same.
Get the file and use it offline
Right-click → "Save link as", compare the checksum, disconnect, open.
↓ save dice-check.html ↓ Instructions (PDF, German)SHA-256 of the file dice-check.html (v0.1, as of 2026-08-18):
df760d95298b1a48e4b2d7e873a724f33ff7005ed2cbdaa816e6143d2827ae07
Verify: Linux/macOS sha256sum dice-check.html · Windows PowerShell Get-FileHash dice-check.html.
If the value differs, discard the file and download it again. The English one-page instruction sheet follows with the English workshop pack.
Just to have a look, or for a throwaway seed, you can also open it directly: → open Dice Check in the browser
What it does
- Computes like the device — enter the digits (spaces are fine), press "Compute", 12 or 24 numbered words appear. Same math as SeedSigner OS 0.8.7 (
src/seedsigner/helpers/mnemonic_generation.py). - Automatic comparison — if you also enter the words from the display, every mismatch is marked red. "24/24 identical" is the goal.
- Checks itself on start — word list hashed against the official BIP39 list, SHA-256 with two independent engines (browser WebCrypto and a small readable implementation), self-test against the two examples from the SeedSigner documentation. Only when everything is green does it let you compute.
- Tells you whether you are online — and advises you not to be.
- "Clear everything" — wipes inputs and result, then close the window.
Why offline, why a single file
A verification tool for seeds must not be an attack surface itself. That is why everything is in one file that makes
not a single network request: no external scripts, no fonts, no images, no analytics. A Content Security Policy
in the head of the file explicitly forbids the browser to load or send anything. Want to check? F12 → Network tab → apart from loading the page itself, no
request appears, not even while computing. And if you can read code: right-click → View page source. The whole code
is in the <script> block at the end, about 200 lines without libraries, roughly 70 of them for the actual computation.
Don't trust, verify — the Dice Check included
One tool alone is a hint. Two independent code bases arriving at the same words as the device are proof. That is why the workshop pack offers three ways:
- Way 1 — Dice Check (this file, JavaScript in the browser, offline).
- Way 2 — the terminal script:
verify_dice_seed.py, about 90 lines of Python without third-party libraries, plus a wrapper that checks the hashes before every start. Runs on Tails without network. Ships with the full workshop pack for the book. - Way 3 — Ian Coleman's BIP39 tool offline: "Show entropy details" → actively click type "Base 10", set "Mnemonic Length" to "24 Words" (or "12 Words"), otherwise "Use Raw Entropy" stays active and the words differ. Never the "Dice" mode, it turns every 6 into a 0.
What the test proves: that the device computes to the standard. What it doesn't prove: whether your dice are fair and whether your backup is readable. That is what a dice cup and a restore drill are for — both covered in the book.
Open source
The Dice Check is MIT-licensed. The source is the file itself — no build step, no hidden parts.
The BIP39 word list is part of the open Bitcoin standard (SHA-256 2f5eed53a4727b4bf8880d8f3f199efc90e58503646d9ff8eff3a2ed3b24dbda).
Found a bug? kontakt@alien-investor.org.
The Dice Check is free. If it helps you, the mothership is happy about some fuel — see below. Want to go deeper? How to roll a seed, why, and what comes next (passphrase, steel, multisig, inheritance) is the subject of volume 4 of the series Digital Sovereignty — in progress, announcement to follow on the books page.