English

Raffle Picker — Random Winners with Proof Image

A no-repeat raffle with a proof image carrying draw time and SHA-256 hashes

Runs in your browser · nothing is uploaded

0 entries (0 different names)

Turn off to give a name extra tickets by listing it several times. Each person still wins at most once.

Draw mode

Draw result

Nothing drawn yet.

Entry list hash (SHA-256)

This hash only tells you whether the list changed by even one character. Paste the same list in the same order and you get the same value.

Hash of the list right now

—

The draw time comes from this device's clock, which can be changed. The hash only shows that the list was not altered after you shared the hash; it proves neither when the list existed nor that the draw was random.

The link holds entry names only, not the result. Do not share it if the list contains personal data.

What it is

A raffle tool for giveaways, presentation order, duty rosters and class rewards: whenever a few people must be picked from a list of entries. Enter one entry per line, choose how many winners and reserve winners you want, and it draws them without repeats. You can draw everyone at once or one at a time for suspense. When the draw ends you can save a proof image (PNG) showing the draw time, the number of entries, the SHA-256 hash of the entry list and the winners. The page states plainly that the hash shows a list was not changed, not that the draw was random.

How to use

  1. Put the entries in the list, one per line or separated by commas. Under it you see the hash of the current list updating as you type.
  2. Leave “Count each name only once” on to merge repeated names.
  3. Enter the number of winners and reserve winners.
  4. Choose All at once or One by one, then press the draw button.
  5. Below the result you get the draw time (local time, UTC offset and time zone name) and the hashes. Save the proof with Save proof image (PNG) or take the text with Copy result.

How it works

  • No repeats: each line is one ticket. Drawing a ticket removes that name from all remaining picks, so winners and reserves are all different people.
  • Limits: winners plus reserves cannot exceed the number of different names, and up to 10,000 entries are accepted.
  • Randomness: values come from crypto.getRandomValues without modulo bias; Math.random is not used.
  • Entry list hash: the SHA-256 of the entries in the order entered, joined with newline characters and encoded as UTF-8. A different order gives a different hash.
  • Result hash: the SHA-256 of one line per winner as W:name followed by one line per reserve as R:name.
  • Draw time: your browser clock at the moment the draw finishes, written like 2026-10-03 14:05:12 (UTC+09:00, Asia/Seoul). If the device clock is wrong the time is wrong, so use a trusted time source when you need official evidence.
  • What the hash does not do: it detects changes only. It cannot show that the winners were picked fairly.

Examples

Entries Setting Outcome
Ana, Ben, Cho, Dee, Eli, Fay 1 winner 1 of 6
same list 2 winners + 2 reserves 4 different people
Ana, Ana, Ben (duplicates kept) 1 winner Ana 2/3, Ben 1/3
same list, duplicates merged 1 winner Ana and Ben 1/2 each

FAQ

What does the hash on the proof image prove?

It is the SHA-256 of your entry list, so pasting the same list in the same order gives the same hash. Once you have shared the hash, you can show later that the list was not altered by even one character. The draw time, however, comes from your device's clock and can be changed, and the hash does not prove when the list was created. The list itself is not in the image, so keep it somewhere safe to compare against.

Does the hash prove the draw was random?

No. A hash can only reveal whether the list or the result changed afterwards; it says nothing about how fairly the winners were picked. The tool uses your browser's cryptographic random numbers, but nobody else can verify that from the image. For high-stakes draws, share your screen and draw in front of the participants.

Can one person win twice?

Never. If you keep "Count each name only once" on, repeated lines are merged. If you turn it off, each repeated line is an extra ticket and raises that name's chance, yet once a name is drawn it is out of every later pick.

How does one-by-one drawing work?

The first press locks the list and draws one winner. Each press of "Draw next winner" draws one more, and after the winners it continues with the reserves. When the last one is drawn the time and hashes are fixed. The list cannot be edited in the middle.

Are my entries stored anywhere?

No. Drawing, hashing and image creation all happen in your browser. A share link is created only when you press its button and it puts the entry names after the # in the address. That part is never sent to a server, but anyone who receives the link can read it, so do not use it for lists with personal data.

Missing a tool?