Draw winners from a social media comment list, or run a raffle-ticket draw for live events. Choose your draw type, set your conditions, and draw winners fairly with one click — everything runs right in your browser, open and transparent.
The core draw logic works the same way as this site's Random Group Divider: a Fisher-Yates shuffle (the shuffle() function) thoroughly reorders the entire candidate pool, and the first N entries become the winners, where N is the number of winners you set. The randomness comes from JavaScript's built-in Math.random(), a browser-level pseudo-random number generator that's more than sufficient for everyday use cases like giveaways — every candidate has exactly the same chance of being picked, with zero advantage or disadvantage based on where they sit in the list (e.g. whether their comment came in early or late). The rapid-fire "spinning" name display you see on screen is purely visual — it builds suspense — while the actual winner list is computed almost instantly once you click the button; the spin is just a delayed animation on top of an already-determined result.
If you're running a public giveaway on IG or FB, "fair" isn't just about the algorithm being random — it's also about whether the process can be verified by other people. First, keep the entry list as complete as possible and avoid quietly adding or removing entries after the fact; this tool's "Generate & Copy" share-link feature bundles the current list and settings into a URL, which is great for posting publicly before the draw so entrants can check the list themselves — that gives you an auditable, timestamped record. Second, "Auto Clean Pasted Text" filters noise (likes, replies, timestamps, etc.) by keyword and pattern matching, not real comprehension of what a comment means, so you always need to manually review the cleaned list to make sure genuinely eligible entries weren't accidentally dropped, or irrelevant comments weren't accidentally included. Third, the "Automatically remove duplicate names" option changes the size of the actual draw pool, so when you announce the rules, be clear about whether someone commenting multiple times counts as multiple entries — that avoids accusations of a non-transparent process after the fact.
Ticket Draw mode (a defined start/end number range, with optional excluded numbers) is especially well suited to events with physical tickets or in-person check-in, because the numbers form a finite, well-defined integer range, and the excluded list is just explicit numbers — the whole process is easy for everyone present to verify on the spot, since you can simply read out which numbers were excluded and how many remain in the pool. List Draw mode, by contrast, has fairness that depends heavily on the quality of the input list — if the cleaning step filters out someone who should have been included, or a keyword is set too loosely and pulls in irrelevant comments, the fairness of the final result inherits whatever flaws were in the input. That's exactly why the tip above stresses manually reviewing the list after Auto Clean.
Say you're running a "comment +1 to enter" giveaway for one follower. First, copy the entire comment section from your IG post and paste it into the "Participant List" field. Enter +1 in "Comment Keyword" and click "Auto Clean Pasted Text" — the tool strips out interface noise like "Like," "Reply," and timestamps like "2h ago," keeping only comments that contain +1, and tries to grab the line above each match as the commenter's name. After cleaning, always scroll through line by line and manually fix anything obviously wrong (a stray "Like" that slipped through, or a name grabbed from the wrong comment). Next, set "Number of Winners" to 1, check "Automatically remove duplicate names" so someone who commented +1 twice doesn't get two entries, and click "Start Draw" to get your winner. Use "Copy List" to paste the result into your Story or a comment reply to announce it. If you want followers to be able to verify you didn't rig anything, post the "Generate & Copy" share link before the draw so everyone can see the full candidate list, then post the actual result afterward — the two together let people check your work.
The draw uses the Fisher-Yates shuffle combined with the browser's Math.random(), so every candidate has exactly equal odds of winning — that's fair enough for everyday public giveaways, classroom raffles, and similar uses. For formal draws involving large prizes or regulatory requirements (e.g. a commercial promotion that needs external notarization), we'd recommend pairing it with a publicly documented process — a livestreamed draw, or posting the candidate list link beforehand — for added credibility, rather than relying on the tool alone.
No. The draw runs entirely in your browser — there's no code on this page that sends the list or results anywhere. Close the tab or refresh the page and both the list and the results disappear. The one exception is when you deliberately click "Generate & Copy": the list content gets encoded into the URL so someone else can load the same settings via the link — that's something you actively choose to share, not something the tool uploads on its own.
No. The share link bundles the draw's list and settings (number range, winner count, etc.) — not the result. Anyone who opens the link and clicks "Start Draw" runs a completely fresh draw of their own and may get different winners. To announce a fixed, final set of winners, you must use "Copy List" to post the actual result.
Auto Clean filters noise using keyword and pattern matching (things like "Like," "Reply," pure numbers, timestamps), not genuine understanding of what a comment means, so misjudgments are possible — a comment that happens to match a noise pattern, or a keyword match that grabs the wrong line as the commenter's name. The tool itself flags this in orange text on the page: always manually review the cleaned list before running the draw.
It's for situations like an in-person event where someone picked up a ticket number but never showed up, or numbers that were already drawn in a previous round. Enter those numbers into "Exclude Numbers" (separated by commas or line breaks) and the tool removes them from the draw pool entirely, so a no-show or an already-drawn number can never come up again.