How random works
Every tool on Randomizers.io aims to give you fair, unbiased results. Here is how we do it.
Cryptographically secure randomness
When your browser supports it, we use the Web Crypto API (crypto.getRandomValues) as our source of randomness. This is the same class of random number generator used for security-sensitive tasks, and it produces values that are far less predictable than the standard Math.random().
Avoiding modulo bias
Naively mapping a random number into a range (for example with the modulo operator) can make some outcomes slightly more likely than others. We use rejection sampling, discarding values that would fall outside an evenly divisible range, so every outcome has an equal chance.
Fair shuffles
When we shuffle a list or draw items in order, we use the Fisher-Yates algorithm, which produces every possible ordering with equal probability. This keeps team drafts, name draws, and raffles genuinely fair.
Everything runs locally
Randomness is generated on your own device. Nothing about your inputs or results is sent to a server, so what you generate stays private to you.