DS

DiceSecret

Ready
Target bits
Extraction
Final secret

This page supplies the JavaScript, so a malicious or compromised deployment could still expose browser-local values. This hosted site is a demonstration; the strongest intended form is an offline application with local inference. Why?

Recover an existing representation

Decode locally in this browser. The entered phrase/value is not sent to the server.

Recover from a kit or QR

Everything here runs locally in this browser. QR camera frames, QR images, passphrases, encrypted envelopes, and recovered secrets are not sent to the server.

QR decoding stays local in this browser. Native QR detection is preferred when available, with bundled jsQR as the fallback.

Roll your dice

The camera is not being processed yet. Let the dice settle before starting detection.

For the best read:
  • Place all dice flat on a stable, flat surface with no dice stacked on another.
  • A top-down view is strongly preferred. Hold the camera roughly 1 to 2 feet directly above the dice and frame the entire group so every die top is visible.
  • Keep the dice large enough in the image for their top faces and pips to be clear.
  • Once detection starts, hold the camera steady. If needed, slowly move or tilt the camera slightly to give the reader a clearer view of difficult dice, then return toward a top-down view.
  • A green die means the reader is relatively confident in that die. Some dice, lighting, and viewing angles may read more easily than others.

When the dice are settled and fully in view, click Detect dice.

Detecting live
0 ready0 visible

Scanning for dice...Keep the camera steady and near a top-down view. Dice will turn green as the reader becomes confident.

Reading dice...

Video and model inference stay in this browser.

0 bits0 accepted dice
Accepted dice numbered in entropy order
Entropy orderTap a value to locate that die.
How is this order made?

The detected d6 tops estimate a top-down floor layout using only their shared cube geometry. The most isolated die becomes position 1; the farthest die defines direction, and an off-axis die fixes which side is up. The other dice are visited by repeatedly splitting the layout into four median quadrants. It is not a nearest-neighbor path, so a jump means one region ended and the next began.

Reading details