Every result on dice83 originates from your browser's Web Security API, the same cryptographic entropy source that secures online banking. This page explains the technology and lets you verify it yourself.
Four steps between physical reality and your random result.
Thermal noise, electrical jitter, and quantum effects in your device's silicon generate unpredictable physical signals.
Your operating system collects, mixes, and conditions these signals into a high-quality entropy pool via a CSPRNG.
Your browser exposes the OS entropy through getRandomValues(), specified by the W3C.
JavaScript maps raw bytes into results: coins, dice, colors, patterns. The server is already finished.
Flip 10,000 coins in one click. Watch the running heads percentage converge toward 50%.
Roll 10,000 six-sided dice. The histogram should approach equal height for all six faces.
The getRandomValues() method is part of the Web Cryptography API specified by the World Wide Web Consortium. The specification requires that implementations use a cryptographically strong pseudorandom number generator (CSPRNG) seeded with sufficient entropy. Every major browser fulfills this requirement: Chrome, Firefox, Safari, and Edge all draw from the operating system's entropy source, which in turn collects hardware randomness.
The random bytes that power every dice83 tool meet the same cryptographic standard used for generating encryption keys, session tokens, and TLS handshake nonces. This is the strongest randomness available in a web browser. The specification exists precisely because weak randomness would compromise the security of the entire web. Every browser vendor independently implements and tests the API to cryptographic standards.
The MDN Web Docs page for getRandomValues() provides technical documentation, browser compatibility tables, and usage examples. The W3C specification section defines the exact requirements implementations must meet. These are open, public documents maintained by the web standards community.
Cryptographic randomness guarantees uniform distribution across the output range. Every bit is independent of every other bit. No observer, including dice83 itself, can predict the next output from any number of previous outputs. The two live tests on this page demonstrate these properties empirically: the convergence test shows that heads and tails approach exact 50/50 over many trials, and the distribution test shows that all six dice faces appear with equal frequency. You can run each test as many times as you wish. Every run uses fresh entropy from your device.
The server delivers the page. Your device creates every outcome.
Every random value is generated by your browser's Web Security API. The result exists only in your device's memory. The server never receives, stores, or processes any generated value.
Roll history and session statistics live in your browser's localStorage. You can clear them at any time through your browser settings. dice83 has no access to data on any other device.
No tracking cookies, no analytics pixels, no fingerprinting scripts. dice83 sets no cookies of any kind. Your activity pattern leaves no trace on any server.
When you share a dice83 URL, the recipient receives the tool configuration. Their browser generates independent results from its own entropy. Two people visiting the same link produce completely separate outcomes.
Daily Inspiration
Jury-selected work from the A' Design Award, presented fresh each morning.