Browsers borrow tiny noises
When available, this tool uses crypto.getRandomValues(), which your OS seeds with hardware jitter, fan noise, and timing wiggles—real-world physics sneaks into every digit.
Bounds are inclusive after rounding by default. Use endpoint mode and step size to narrow the allowed values.
This random number generator helps you pick fair, unbiased numbers in any range you choose. It is useful for games, classroom activities, simulations, and quick calculations where you need an impartial roll. You can generate a single number or a list of results, choose integers or decimals, apply a custom step size, and control whether the endpoints are included.
The concept is simple: the tool builds the set of allowed values from your minimum, maximum, decimal precision, endpoint mode, and optional step size, then samples from that set. If you set decimal places to 0, you will get integers only. If you need values like 0.25, 0.50, and 0.75, use a matching step size. You can also keep the results in random order, sort them, or bias the distribution toward the minimum, maximum, or middle.
The generator runs entirely in your browser. When available, it uses the Web Crypto API (crypto.getRandomValues()) for stronger randomness and falls back to Math.random() if needed. No input is sent to a server, which keeps your data private and the tool fast.
Common use cases include rolling a virtual die, picking a random winner number, generating practice data for spreadsheets, creating sample values for testing, or selecting randomized parameters for experiments. Teachers can use it to build worksheets, developers can use it to create test fixtures, and players can use it as a fast digital dice roller.
If you want predictable, repeatable numbers for security keys or cryptographic purposes, use a dedicated secure tool. For everyday random selection, this generator offers a quick, clear, and flexible way to pick numbers with confidence.
When available, this tool uses crypto.getRandomValues(), which your OS seeds with hardware jitter, fan noise, and timing wiggles—real-world physics sneaks into every digit.
By rounding min/max to your decimal places and sampling inclusively, edge values like 2.5 or 999 remain just as likely as the middle—even in decimal mode.
Asked to “think of a number 1–10,” people rarely pick 1 or 10; that bias is how casinos flag manual shuffles. Let the generator roll—it loves the edges we subconsciously avoid.
Your decimal output is really an integer roll multiplied by 10^-dp. Want 4 decimal places? We roll 0–9999 uniformly, then drop the decimal point. Simple, fast, precise.
Even in 2025, many lottery draws use air-blasted ping-pong balls because you can literally watch the randomness happen—a theatrical reminder of what this digital tool simulates.
Yes. Results are returned within the inclusive range [min, max] after rounding.
Absolutely—set decimal places to 0.
Not for security-critical use. The tool prefers crypto.getRandomValues() when available and falls back to Math.random(), but it is designed for general-purpose random selection rather than key or token generation.
Yes. Set the count to generate multiple values at once, and enable No repeats when you want unique integers only.
Yes. Use Step size to limit output to evenly spaced values such as 0.25, 0.5, or 5, based on your selected decimal precision.