Draw winning raffle numbers

Select unique winning integers from consecutively numbered tickets without constructing the entire ticket array.

freeworks offlinenothing uploaded
ToolRaffle Draw
Input
Output
Put this on your own site

The frame below runs the same code as this page, in the reader's own browser. Nothing is sent to us, and nothing is sent to you.

Pick a dark background and the text and panels follow it, so the frame stays readable on a dark page.

Preview

How it works

A sparse partial Fisher–Yates pass chooses an index among the tickets still available and records only the swaps needed for subsequent winners. Rejection-sampled Web Crypto indexes give unseeded tickets equal selection chances, and each selected integer is removed from the remaining pool.

  • One winner is the default, while the ticket total is explicit and capped at one million.
  • Seed text exists for repeatable simulations, not as evidence that a prize draw was independently supervised.

Worked example

3 winners from 50 tickets
Input
											Entries: 50
Winners: 3
Seed: tombola-2026
										
Output
												Ticket #12
Ticket #16
Ticket #5
											

When to use this

Charity tombolas draw numbered stubs, event organisers select several door prizes without replacement, and probability classes replay a seeded finite-population sample.

Edge cases

  • Eleven unique winners cannot come from ten tickets, so that request stops before drawing.
  • A chosen seed can be tried after inspecting earlier outcomes, which makes seeded results unsuitable as an audit trail.
  • The eligible set is every integer from 1 through the entered total; missing ticket numbers and multiple tickets held by one person are not modelled.

References