What Makes an Online Randomizer Fair?
A uniform randomizer is a procedure in which each member of a finite set has the same probability of being selected.
A worked example with numbers
Take a list of five book titles. A fair picker has five eligible indices, 0 through 4, and assigns each index probability 1/5 = 20%. If one title occurs twice in the input, there are six rows and that title receives 2/6 = 33.33%; the algorithm can still be uniform over rows while the selection is unfair to titles. Fairness therefore starts with the object being counted. Ask whether the rows represent people, tickets, choices, or intentional weights.
How to set the rule before the result
Check three layers separately. First, inspect the input: no accidental duplicates, no omitted eligible items, and a rule for blank or late entries. Second, inspect the mapping: equal choices need one slot each, while a weighted choice needs publicly stated weights whose total defines shares. Third, inspect the procedure: one output under the announced rule, with no private reruns. The list item picker suits one equal selection; the weighted picker is a different rule because weights such as 6, 3, and 1 mean probabilities of 60%, 30%, and 10%.
Common mistakes that change the odds or the process
A frequent mistake is judging fairness from a short run. Ten draws from a five-item picker need not show every item twice. Another is confusing randomness with equal shares: a weighted wheel can be random while deliberately unequal. A third is trusting animation rather than the selection method. A visual wheel may animate for two seconds, but the relevant questions are how it selects an index, whether the number of outcomes is fixed, and whether the input was frozen before the result. Repeated clicking creates new trials, not proof that the first outcome was defective.
Where this method stops being appropriate
A browser picker is appropriate for informal activities where participants can review the roster and rule together. It cannot certify identity, preserve a tamper-evident history, establish eligibility, or meet rules for lotteries and regulated competitions. For a situation requiring auditability, use the governing organisation’s documented process. A local tool can make a small decision inspectable, but it cannot transform an informal list into an official record.
How the random source fits into the rule
DiceDecide samples an integer index and, where browser crypto is available, draws 32-bit values until one falls inside a whole multiple of the requested range. That rejection step matters: 4,294,967,296 possible 32-bit values divide exactly into 2, 4, 8, and 16 groups, but not into every possible list length. MDN’s Crypto.getRandomValues reference describes the browser API as cryptographically strong, while NIST SP 800-22 explains why statistical testing can only assess evidence from outputs rather than prove that a particular draw was fair.
A practical fairness audit before sharing a result
Ask what exactly receives odds. If a list says “Alex, Alex, Blair,” a picker can be perfectly uniform over its three rows while giving Alex two chances. If the two Alex rows stand for two tickets, say so; if they are a copy error, remove one. Next count the outcomes in the mapping. An eight-slot wheel with eight different labels gives 1/8 per label. An eight-slot wheel with four repeated labels gives 1/4 per label only if each label occupies exactly two slots. These calculations are more useful than watching whether colours appear evenly during a short spin.
Finally check the human controls: when entries stop changing, who can observe the input, whether a failure rule exists, and whether the first result is retained. A uniform algorithm answers only one part of fairness. It does not decide whether a person belongs in the pool or whether the real-world consequence is acceptable. For a casual draw, an openly checked list and one retained output are normally the strongest practical safeguards.