Random number generator
Pick a random number between any two numbers, or a whole set of them, with or without repeats.
Your number appears here.
What "random" means here
Computers can't flip coins, so they use generators. The ordinary kind (Math.random() in JavaScript) is fine for games but can be predictable. PickSpin uses crypto.getRandomValues, the same source browsers use to create encryption keys, seeded by your operating system from hardware noise.
Getting from a random 32-bit value to "a number from 1 to 100" is where many generators slip. The quick method, taking the remainder after dividing by 100, makes low numbers very slightly more likely. PickSpin throws away the few values that would cause that and draws again. The fairness page has an interactive demo of that bias.
Common uses
- Classroom: pick a page number, a question number, or a student by register number.
- Games: 1–6 for a die, 1–10 for a quick guess-my-number round, or roll any size of die.
- Sampling: choose 20 unique row numbers from a spreadsheet of 500 to spot-check.
Questions people ask
How do I pick a random number between 1 and 100?
Leave the range at 1 to 100 and press Generate. Each whole number from 1 to 100 has exactly a 1 in 100 chance. Use the presets for 1–10, 1–6 or 1–1000.
Can I generate numbers without repeats?
Yes. Tick "No repeats" to get unique numbers, for example 6 different numbers from 1 to 49. You cannot ask for more unique numbers than the range holds.
Is this a true random number generator?
It uses your browser's cryptographically secure pseudo-random generator (crypto.getRandomValues), which is seeded from hardware entropy by the operating system. It is unpredictable enough for security keys, and far better than Math.random(). Values are mapped to your range with rejection sampling, so there is no modulo bias.
Can I use it to draw raffle ticket numbers?
Yes: set the range to your ticket numbers, the count to the number of prizes, and tick No repeats. Then share a screenshot of the result.