Start free

Free tool

Random order generator for a pool tournament

Paste the names, one per line, and draw a running order. Fair shuffle, in your browser, nothing sent anywhere.

One per line, or separated by commas.

Hit draw when you are ready.

    Why the draw matters

    Position in a rotation is a real advantage. Shooting first means breaking into a tight rack, which is measurably harder than shooting fourth into an open one. Over a season, a draw that is not random shows up in the standings.

    Why not just sort randomly?

    Because the obvious trick does not work. Sorting a list with a random comparator — sort(() => Math.random() - 0.5) — does not produce a uniform shuffle; some positions come up more often than others, and how badly depends on the sorting algorithm in your browser.

    This uses a Fisher-Yates shuffle with randomness from the browser's cryptographic generator, which gives every possible order exactly the same chance.

    How much does going first actually cost you?

    Enough to notice over a season. The first player of a rack breaks into a tight triangle, where the balls are packed and the pocket angles are poor. The player after them inherits a spread table with several easy pots on it. In a format where one missed shot costs a life, that is a real difference and it repeats every single rack.

    Which is why the fix is not to argue about it but to randomise it properly, in public, and let the rotation move the disadvantage around the table as racks come and go.

    Do it in front of everyone

    Whatever you use, draw it where people can see. "Why am I first again?" comes up at every night where the order was decided quietly, and a visible draw answers it before it is asked.

    Or let the app draw it

    The order scrambles on screen in front of the room, from a stored seed, so it can be reproduced if anyone asks. Free.

    Start a night free