No modulo shortcut
Raw random bits are rejected when they would create an uneven remainder. Every allowed index then has the same mapping probability.
Generate one number instantly or build an exact-uniform sample with custom range, exclusions, steps, decimals, and no-repeat draws.
1 possible draw from 100 values.
Generate to see results.
Uses the current range, precision, step, and exclusions. Choose whether values may reappear in another set.
Generate to build sets.
Useful for classroom turns, raffle numbers, question order, or any finite pool.
For a small whole-number range, generate repeated samples and compare bucket counts. Short runs can look uneven even when every value has the same chance.
No generations yet.
Raw random bits are rejected when they would create an uneven remainder. Every allowed index then has the same mapping probability.
Unique mode keeps drawing from the exact allowed domain until it has distinct values. Elimination mode makes the shrinking pool visible.
With two decimal places, 1.00–2.00 means 101 equally spaced values, not floating-point guesses between endpoints.
This page uses crypto.getRandomValues() from your browser. It does not silently fall back to Math.random().
The generator reads enough random bits for the current domain and uses rejection sampling whenever the bit range is not an exact multiple of the number of available values. This avoids the small modulo bias created by a plain remainder operation.
This is browser cryptographic pseudo-randomness for everyday choices, learning, sampling, games, and test data. It is not RANDOM.ORG atmospheric physical randomness, a public audit trail, or evidence for regulated, legal, gambling, prize, security-key, or other high-stakes use.
Generation happens locally. Only the last 10 run summaries and your current session history are stored in this browser.