Pick one at random

One name out of a list, with weights if you want them — handled in a single draw, so a weight of 0.5 or 2.5 works as well as a whole number. Nothing you type here leaves your browser — it is worked out on your own device, so there is nothing to send and nothing to log.

This is not a gambling tool and not a random number service. It runs in your browser, nothing is recorded, and it cannot prove to anybody else what it produced. If a result has to be defensible to someone who was not watching, this is the wrong instrument.

Weighted picking, done once and properly

The usual way to make one entry twice as likely is to put it in the list twice. It works, and then it stops working: it cannot express a weight of 0.5, or 2.5, or 1.7, and a weight of ten thousand means building a list of ten thousand items to pick one from.

The correct method takes one draw regardless. Add the weights up, pick a point uniformly along that total, and walk the list until you pass it. Any weights, one draw, exact probabilities — and the page prints what each entry's probability actually came out as, so you can check it against what you meant.

A fair draw is not the same as a fair process

This is the part that matters and the part no tool can help with. The draw here is uniform. Whether the outcome is fair depends on the list, and the list is yours.

More to the point: picking at random every week is not the same as taking turns. Over a year of weekly draws from six names, somebody will have been picked twice as often as somebody else, and they will be right to notice. If you want everybody to take a turn, shuffle the list once and work through it — that is what shuffling is for. Random and fair are different things.

Nothing is recorded

There is no history, no log and no receipt. That is deliberate — nothing you type here leaves your browser — and it means this page cannot prove to anybody else that the draw happened as it did. If the result needs to be defensible to someone who was not watching, write it down where they can see it, or use something built for the purpose.

Where the randomness comes from

From crypto.getRandomValues(), backed by the operating system, assembled into a 53-bit uniform. Not Math.random(), and if the source is missing this page produces nothing rather than quietly using something weaker.

Where to go next