A FAIR DRAW, A FUN REVEAL

How the little race works

The animals tell the story. Your browser makes the random draw.

One entry, one chance

Every non-empty line in the list becomes an entry with its own number. At the start of a race, the browser generates a complete finishing order using a Fisher–Yates shuffle. The random integers come from Web Crypto’s crypto.getRandomValues, with rejection sampling to avoid modulo bias.

Each entry has a 1 in N chance of being first, where N is the number of entries. A name entered twice has two entries and therefore two chances. Use one entry per person when you want equal chances per person.

The race reveals the order

The draw happens before the countdown. The animation adds little surges and changes in position, then reveals that order at the finish. Animal type, lane, name length, screen size and timer length do not change the result.

Picking without replacement

After a race, “Remove winner” removes the specific winning entry from your current list. Start another race to draw a fresh order among the remaining entries. Closing the result or choosing “Race again” keeps everyone in the list.

Privacy and control

Names are processed in this browser. No account or server-side list storage is required. Optional remembered lists use local storage on your device. Clearing the list removes the saved list; clearing browser site data removes it too. The list is not included in shared page links.

What the tool is designed for

Use it for friendly decisions, classroom turns and presentation order. Results copied from the browser are a convenient record, not an independently verified or tamper-proof certificate.

Try an animal race ↗