🏪 Lanren Toolkit

🎉 Lucky Draw Assistant

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.

Ad・Leaderboard 728×90
When set, "Auto Clean" will only keep comments containing this text, and will try to grab the commenter's name automatically (assuming the name appears on the line right before the comment, a common layout when pasting from IG/FB). A distinctive word or emoji that's unlikely to be typed by accident will filter more accurately.
No list entered yet.
⚠️ Auto Clean works by text matching, not real comprehension, so it can misjudge (for example a comment that happens to contain the keyword but isn't actually an entry, or an incorrectly grabbed commenter name). Always double-check the list yourself before drawing, and edit it by hand if needed.
Ad・Rectangle 336×280

📖 How to Use

  1. Choose a Draw Type: "📋 List Draw" (for social media comments or a custom list) or "🎫 Ticket Draw" (for live events and ticket numbers).
  2. List Draw mode: paste your entries into the "Participant List" box, one per line. If you're pasting a whole block copied straight from an IG/FB comment section, click "🧹 Auto Clean Pasted Text" — it strips out interface noise like "Like," "Reply," and "See more," plus pure numbers (like counts) and timestamps (e.g. "2h," "3d ago"). If you've filled in "Comment Keyword," cleaning keeps only comments containing that word and tries to grab the line right above each match as the commenter's name.
  3. Ticket Draw mode: enter a start and end number (e.g. 1 to 100). If needed, list any no-shows or already-drawn numbers in "Exclude Numbers," separated by commas or line breaks.
  4. Set the Number of Winners. In List mode you can also check "Automatically remove duplicate names" so someone who commented twice can't win twice.
  5. Click "🎲 Start Draw" — the display flashes rapidly through candidate names for a few seconds before landing on the final winner list, which you can copy with the "Copy List" button.
  6. You can also use "Generate & Copy" under "Generate Share Link" to bundle your current list or number settings into a URL and share it.
Note: the share link carries the draw's list and settings, not the actual winners — anyone who opens the link and clicks "Start Draw" runs their own fresh draw and may get a different result. If you need to announce a fixed set of winners, use "Copy List" to share the actual result, not just the link. Also, Auto Clean works by text matching rather than real understanding of the comments, so always double-check the cleaned-up list before drawing.

📖 Deep Dive: What Makes an Online Draw "Fair"

Where the randomness comes from: the browser's Math.random() plus a shuffle algorithm

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.

Three things to get right for a publicly verifiable draw

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.

Fairness differences between Ticket Draw and List Draw

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.

A worked example: running an IG comment giveaway

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.

❓ FAQ

Is this tool's randomness fair enough to use for a public giveaway with real prizes?

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.

Does the list I paste in, or the winners it draws, get sent to a server or logged anywhere?

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.

Does the share link contain the already-drawn winners?

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.

How accurate is "Auto Clean Pasted Text" — could it accidentally remove a real entry?

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.

What's the "Exclude Numbers" field for in Ticket Draw mode?

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.

Ad・Leaderboard 728×90