Weighted Random Picker

Pick winners with custom odds — weighted, cryptographically fair, with live stats.

Ad placeholder (leaderboard)
Enjoying the tools? Go Pro for £4.99 (one-time) and remove all ads — forever, on this device. Remove ads — £4.99

A weighted random picker chooses a winner from a list where every entry can have its own odds. Instead of giving each name an equal chance, you assign a weight — a higher weight means a higher probability of being picked. It is the right tool whenever “fair” does not mean “equal”: a prize draw where extra entries were earned, an on-call rota where some people cover more shifts, A/B bucketing with uneven splits, or a giveaway where loyal customers get better odds.

How it works

Each entry has a label and a weight. The picker adds up all the weights to get a total, then uses your browser’s cryptographic random generator to choose a point uniformly across that total and maps it back to whichever entry’s slice it lands in. So if Alice has weight 3, Bob weight 1 and Carol weight 1, the pool sums to 5 and Alice is picked 60% of the time while Bob and Carol get 20% each. The live percentage next to every row shows exactly these odds as you edit.

You control the draw with three switches. Picks per draw pulls more than one winner at once. No repeat within a draw guarantees those winners are all different entries — each chosen entry is removed from the working pool before the next pick, and the remaining weights are re-normalised so the odds stay correct. Remove winners after picking deletes winners from the list permanently, which turns the tool into a sequential raffle: draw round one, those names are gone, draw round two from who is left.

Every draw is logged. The expected-vs-observed panel charts the odds you configured against the frequencies that actually came up, so over many draws you can watch the results converge on the weights — a built-in fairness check. The full history exports to CSV with one click, and the latest result copies to your clipboard. Entries, weights and history persist in your browser, so the list is still there when you come back.

Example

Suppose a giveaway gives one entry per purchase, and four people bought different amounts: Maya 5, Sam 2, Priya 2, Jon 1. Type those as weights (total 10) and the picker shows Maya at 50%, Sam and Priya at 20% each, and Jon at 10%. Draw a single winner and Maya is favoured but not guaranteed.

EntryWeightOdds per pick
Maya550%
Sam220%
Priya220%
Jon110%

Switch on remove-after-pick and draw repeatedly to produce a fair, weight-respecting ranking — first place, second place and so on — with each winner taken out before the next round. Run a few hundred single draws instead and the observed-frequency bars will line up neatly with that 50/20/20/10 split. Every number is computed on your device; nothing is uploaded.

Ad placeholder (rectangle)