⚖️Some options deserve a bigger slice.

✓ Tested & verified Updated: How the randomness works

Weighted picker

Best odds right now

Pizza

42.9% of the bar — press draw and the rest still have their share

  • Pizza43%
  • Curry29%
  • Sushi14%
  • Cook at home14%

Game night, drawn

Weekly

One game, one way to decide who starts, and one rule to change — drawn fresh each week. For the dice, cards and coin in the drawer.

Free, no account. One click unsubscribes and deletes your address.

Try also

How does a weighted random picker work?

The weighted picker gives every option a number of tickets, puts them all in one hat and draws one. An option written as Pizza x3 holds three tickets; a plain line holds one. With the four defaults there are seven tickets, so pizza wins 3 in 7 — 42.9% — and sushi 1 in 7, or 14.3%. The bar at the top draws those proportions to scale, and the list underneath states each as a percentage before you press anything.

That last part is the whole point. Plenty of spinners let you add an option twice to make it likelier, but none tell you what the odds then are. Here the arithmetic is on the page: if the bar does not look the way you expected, the weights are wrong — and you see it before the draw, not after.

The draw uses crypto.getRandomValues with rejection sampling over the cumulative ticket count, so a 42.9% option really does come up about 429 times in a thousand.

What the weights come out as

Four options, weighted 3 : 2 : 1 : 1, give seven tickets in total:

OptionWritten asTicketsChance
PizzaPizza x3342.9%
CurryCurry x2228.6%
SushiSushi114.3%
Cook at homeCook at home114.3%

Change one weight and every other percentage moves, because they share a total. That is worth watching once: raising pizza from 3 to 6 does not take from curry alone, it takes from all three.

Weights people actually use

A 2:1 split is the useful default — noticeably more likely, still far from certain, and it loses about a third of the time, which is what keeps it feeling like a draw rather than a decision. Beyond about 8:1 the other options stop mattering; at that point you have made the choice and the wheel is theatre.

When an equal draw is the better tool

If nobody has a claim to a bigger share, weights just add an argument. The plain wheel spinner and the random name picker give everything one ticket and say so. For splitting people rather than choosing between options, the team generator deals evenly by construction.

Frequently asked questions

How do I write the weights?

Put x and a number at the end of the line: Pizza x3. An asterisk or the × sign work too. A line with nothing after it counts as one. Decimals are allowed, so Pizza x1.5 gives pizza half again as many tickets as a plain option — useful when you want a nudge rather than a landslide.

Do the weights have to add up to 100?

No, and that is what makes them easy. Weights are relative: 3 and 1 mean exactly the same thing as 30 and 10, or 0.3 and 0.1. The tool works out the percentages for you, so you can think in whatever units feel natural — tickets, points, hours, portions.

Why not just add an option twice?

You can, and it gives the same odds — three copies of Pizza is the same as Pizza x3. It just gets unreadable fast: eleven lines to express a 3:2:1 split is a list nobody can check. The weight notation keeps one line per option, which is also what makes the percentage list possible.

Can I give something a weight of zero?

Not quite — the smallest weight accepted is 0.01, which is a hundredth of a normal ticket. If you want an option out of the draw entirely, delete the line or move it below a blank one. A visible option that can never win is a trap for whoever reads the list next.

Is this still random if the odds are unequal?

Yes. Random does not mean equal, it means unpredictable in a known distribution. A loaded die is random. What matters is that the stated odds are the real odds, which is why they are printed rather than implied.

What is it actually good for?

Anything where equal chances would be wrong: a takeaway rota where one person cooks twice as often, a prize draw where extra entries were earned, a revision timer that should land on the weak topic more often, a chore wheel weighted by how much everyone already did this week.

How the randomness works

Each line is parsed into a name and a weight; a trailing x, * or × followed by a number sets the weight, and anything without one gets a weight of 1. Weights are clamped to between 0.01 and 1000. The tool sums the weights, converts each into a percentage for the bar and the list, and draws by picking a uniform integer from 1 to the total weight (in thousandths, so decimals work) and walking the cumulative sum until it is reached. The integer comes from crypto.getRandomValues with rejection sampling, so there is no modulo bias at any weight. Everything runs in your browser; nothing is stored or sent.

Sources:

Fair is not the same as equal

Weighting is the difference between a fair draw and an equal one, and the two are often confused. An equal draw treats every option as interchangeable, which is right for a coin toss and wrong for almost everything involving people. If three of you paid for the pizza and one did not, an equal wheel is not neutral — it silently overrides a fact everybody in the room already agreed on.

The honest version of that conversation is a number. Writing x3 next to a name forces the weighting into the open where it can be argued about before the draw, which is exactly when it should be argued about. Once the bar is on screen and everyone has looked at it, the result is hard to dispute, because the disagreement was resolved one step earlier.