Play free roulette online with play money, right in your browser. No download, no sign-up and no real money, ever. Spin a realistic European roulette wheel (single zero) or an American roulette wheel (0 and 00), place every bet from straight-up numbers to splits, corners and dozens, and watch the ball bounce in Vegas mode or get instant results in Simulator mode.
New to the game? Press 🎓 Tutorial for three guided rounds, or read our roulette rules guide with diagrams of every bet.
See what every bet pays and how often it wins in the roulette odds and payouts chart, and why the house edge is lower on a European wheel.
Try Martingale or any other system risk-free with your own bankroll and table limits, then review every spin in 📜 History. No strategy beats the house edge, and here you can see why.
Every result comes from a cryptographically secure random number generator, and you can verify each spin yourself with the fairness tools below.
Every spin's winning number comes from a random number generator (RNG). It is picked the moment you spin, before the wheel starts moving. The wheel and ball animation only show you the number that was already chosen. This panel lets you pick which generator is used, prove that past spins were fair, and stress-test the generator yourself.
You don't need any of this to play. The default settings are already the most secure option.
| Engine | Secure? | Best for |
|---|---|---|
| Provably Fair · HMAC-SHA256 (default) | Yes | Normal play. Every spin can be checked afterwards. |
| Web Crypto CSPRNG | Yes | Secure play when you don't need to verify spins. The fastest secure option. |
| Xoshiro256** | No | Fast simulations and comparison only. |
| Xorshift128+ | No | Fast simulations and comparison only. |
"Secure" means nobody can predict the next number, even after watching thousands of spins. Xoshiro and Xorshift spread numbers evenly, so they pass fairness tests, but anyone who records a few results can work out every future spin. Never use them for anything involving real value.
result = HMAC-SHA256(server seed, "client seed:nonce:0") → number 0–36 (or 0–37, where 37 = 00)
You can also enter the seeds and nonce by hand, or recheck the same numbers with any HMAC-SHA256 tool outside this site.
The test uses its own throwaway seed. It doesn't use up spins, change your nonce or touch your balance.
Math.random was predicted). After that, every future spin is known. They are included here only for simulations and comparison.
crypto.getRandomValues), which is backed by the operating system's secure generator, makes the 256-bit server seed. Each spin is then HMAC-SHA256(serverSeed, clientSeed:nonce:round). Without the secret seed nobody can predict that output, and nobody can steer it.
% 37 straight would favour some pockets slightly.
SHA-256(serverSeed) before betting, and you choose your own client seed, so the house can't pick results after seeing your bets. Rotating the seed reveals it, and you can recheck any past spin on the Verify tab.