How to Run a Fair Online Raffle in 7 Steps

Last year I watched a small online giveaway implode in real time. The organizer announced a winner in a comment, someone immediately accused them of picking a friend, and within forty minutes the entire thread had devolved into accusations and screenshots. The organizer wasn't cheating — they genuinely just grabbed a name at random — but they had no proof, and that was the problem.

Running a raffle online is deceptively simple to get wrong. Anyone can throw a name into a hat and pull one out. The hard part is making everyone — including people who didn't win — believe the process was genuinely fair. That requires transparency, and transparency requires a system. Here's the one I use, broken into seven practical steps that leave no room for reasonable dispute.


Step 1: Lock the Entry List Before You Draw

The single biggest source of raffle disputes is a moving entry list. If you draw a winner and then someone notices entries were added or removed after the deadline, your whole process is poisoned even if you did nothing wrong.

Set a hard entry deadline — a specific date and time, down to the minute — and announce it publicly before the raffle opens. When that moment arrives, take a screenshot or export a copy of all entries in their final form. This timestamp is your anchor. If anyone later claims the list was manipulated, you can show the export matches the draw.

For social media raffles where entries are comments, save the comment thread using your browser's "Save Page As" feature or a free tool like HTTrack. For email or form-based entries, export a CSV from your spreadsheet right at the deadline and keep it unedited.


Step 2: Number Every Entry Sequentially

Before you touch any randomizer, assign every entry a number. Entry 1, entry 2, entry 3 — all the way through. This matters because you're going to draw a number, not a name. Separating "who entered" from "what gets drawn" is what makes the process auditable.

If someone entered three times (say, for following, sharing, and tagging a friend), they get three separate numbers. Write this out explicitly in your entry list. A spreadsheet works perfectly: column A is the entry number, column B is the name or username, column C is why they qualify (original entry, bonus entry, etc.).

Publish this numbered list publicly if the raffle is open to the public. Yes, people might feel weird seeing their name on a list — but you're running a transparent draw, and visibility is the point. If privacy is a concern, use usernames or initials, but make sure the list is verifiable.


Step 3: Choose the Right Random Picker Tool

Not all random generators are equal for raffle purposes. You want something that uses a cryptographically strong random source, not just a basic pseudo-random function. The difference matters: weak random generators can produce predictable sequences, and savvy participants know this.

For most online raffles, a few tools stand out:

  • Random.org — Uses atmospheric noise to generate true randomness. It has a specific "Integer Generator" that lets you pick a number between 1 and N (your total entries). Critically, it shows a timestamp and a verification link you can share. This is the gold standard for public raffles.
  • Wheel of Names — Visually satisfying and great for live-streamed draws. You paste in your entry list and spin the wheel. Less rigorous than Random.org but perfectly fine for smaller community raffles where showmanship matters.
  • Google's "random number" function — Just type "random number between 1 and 500" in Google Search. Simple, but it doesn't give you a shareable verification link.

For anything with meaningful prizes — gift cards, products, money — use Random.org and screenshot the result page, which includes a timestamp, the range you specified, and the output. That screenshot becomes part of your documentation.


Step 4: Record the Draw Live or Document It Thoroughly

If your raffle has more than fifty or so participants, record the draw happening. This doesn't need to be a polished video — a screen recording with your face on camera for a few seconds is enough. What you're capturing is: the current time visible somewhere on screen, your entry list open and unmodified, and the random generator producing a result in real time.

For small raffles, a screenshot sequence works: screenshot the numbered list, screenshot the random generator with your specified range, screenshot the result. Upload all three images together when you announce the winner.

The goal is that someone who didn't win can follow the exact chain of evidence and confirm, "yes, entry #247 did win, and #247 is this person's name on the list they published on this date." If they can do that, you've done your job.


Step 5: Handle Duplicate and Ineligible Entries in Advance

What happens if the number you draw belongs to someone who was disqualified — say, a bot account or someone outside your geographic eligibility zone? If you handle this after the draw, it looks suspicious. Handle it before.

Before generating your random number, go through your entry list and mark any entries that don't qualify. Remove them and renumber the remaining entries. Document this step: note how many entries were removed and why. Keep the original list and the cleaned list both on file.

Now when you draw, you're drawing from a clean, final list. If your first draw lands on someone ineligible despite your cleaning (it can happen with last-minute account flags, for instance), state your re-draw policy publicly before the draw: "If the selected entry is ineligible, we will re-draw once and document the same way." Having this rule pre-announced prevents any appearance of fishing for a preferred winner.


Step 6: Announce the Winner With Full Evidence

The announcement is not just "Congratulations to @username!" The announcement is your evidence package. Include:

  • The total number of entries in the final, cleaned list
  • The number that was drawn and a link or screenshot from Random.org (or whichever tool you used)
  • Which entry on your list corresponds to that number
  • The name or username of the winner

Something like: "We had 312 eligible entries. We generated a random number between 1 and 312 using Random.org [link to result]. The result was 178. Entry #178 on our list (published on June 10th) is @handle. Congratulations!" That's it. Spare, factual, and airtight.

If you ran a live draw video, link to it. If you posted the numbered list publicly, link to that too. The more your announcement functions as a self-contained audit trail, the less room there is for bad-faith challenges.


Step 7: Respond to Disputes Calmly and with Data

Even with a perfect process, someone will occasionally cry foul. This is the internet. What matters is how you respond.

Don't get defensive, and don't get drawn into an argument about motives. Instead, point directly to your documentation: "Here's the numbered list posted on this date. Here's the Random.org result. Here's how those connect to the winner." That's your entire response, delivered once, politely, with links or screenshots attached.

If the dispute is substantive — someone noticed a genuine inconsistency in your list, for example — take it seriously. Acknowledge it, investigate, explain what happened. Transparency that only shows up when things go right isn't actually transparency.

One practical tip: keep all your raffle documentation for at least 30 days after the winner is announced. That's usually enough time for any legitimate dispute to surface. After that, you can archive or delete it.


The Underlying Principle

Everything in this process comes down to one idea: separate what you control from what is objectively verifiable. You control who's eligible to enter, and you make that list public. You control which tool you use to randomize, and you use one with a verifiable output. You don't control the number that comes out — and that's exactly the point.

A fair raffle isn't just one where you didn't cheat. It's one where participants can verify you didn't cheat without having to trust you. That distinction is what turns a giveaway from a potential controversy into a genuine community moment — and it only takes about fifteen extra minutes of documentation to get there.

The next time you run a giveaway, build the evidence trail first. Your winners will be happier, your non-winners will be gracious, and you'll never have to defend yourself in a comment thread again.