Your list. Clear rules. A recorded draw.

Free Giveaway Winner Picker

Pick winners from a prepared list or CSV. Review who is included, decide how repeated entries count, and select distinct winners with an ordered reserve list.

No social loginPrivate list processingPDF, CSV & JSON records

Know what goes into the draw

SUPPLIED LIST12 rows9 supplied identities
REVIEWED POOL9 equal chancesUnique-entrant rule selected
✓ 1 winner+ 2 ordered reserves

Illustrative pool, not a live result. Use the example below to review the same numbers.

Make the pool understandable before picking

Turn your prepared entries into a clear selection

Paste one entrant per line or use a CSV header row. This picker does not collect entries from a post URL, check account eligibility or certify the completeness of your list.

Prepare the entry pool

Up to 10,000 rows / 2 MB. Use supplied handles or entry IDs, not private contact details. This tool does not fetch comments or verify follows.

Choose the selection rule

Keyword and exclusions

Literal, case-insensitive text in the selected CSV comment column.

Review first. Draw when ready.

—Eligible identities
—Eligible rows
—Removed rows
—Starting chances

Your review will appear here.

EntrantEntriesChances
Review removed rows

No review yet.

    Each selected identity leaves the pool, including all its other entries. Winners and reserves are always distinct.

    Winners and reserves

    Review the current pool, then draw the winners.

      No draw yet

      Keep a useful draw record

      PDF/CSV show selections. JSON also contains the eligible pool, comments and removed-row reasons: keep it private. The local record is not independent or tamper-proof certification.

      Entries stay in this browser tab. No upload, social login, saved history or paid API. Secure browser randomness selects ranks from the reviewed pool. Save a record before editing or leaving.

      How the draw works

      Separate preparation, selection and the record

      Define the eligible pool

      Check column choices, repeated rows, matching rules and exclusions before anything is selected.

      Reviewed entries, not a hidden filter

      Draw distinct identities

      Use one chance per entrant or per eligible row. A selected identity cannot take another winning or reserve place.

      Secure random values, no replacement

      Save the handoff

      Keep the winners, reserve order, settings and draw ID together. Treat the full entry record as private.

      A useful record, not audit certification

      Turn a prepared entry list into a reviewed draw

      Use the free giveaway winner picker to select winners and ordered reserves from a list you prepare. Paste one entrant per line or provide a supported CSV, review which records qualify, and draw only after the pool is settled. The outcome is a set of distinct supplied identities with a downloadable record. You do not need a social login, and your entry list is processed in the browser rather than uploaded for selection.

      Preparation is part of the job, not something random selection can replace. Collect the submissions you are entitled to use, apply your closing point, and decide which submission types qualify. A giveaway on Instagram, TikTok, YouTube, Facebook, LinkedIn, Threads, X, Snapchat, or Reddit can use a prepared list here. That does not mean the picker connects to those accounts. It does not fetch comments, inspect followers, collect reposts, read messages, or publish an announcement.

      Start with a clear counting rule. One chance per eligible identity and one chance per eligible row produce different weighting when somebody has submitted more than once. A visible account label is also not a verified person: two accounts can belong to one person, and a shared display name can describe unrelated accounts. Choose identifiers appropriate to your source and preserve an external reference when you need to find the original submission later.

      A weekend reading-box giveaway provides the example below. Its prepared source begins with twelve rows representing nine identities, before duplicate handling, comment filtering, or exclusions. That starting count is not yet the eligible denominator. The useful sequence is source preparation, import, rule selection, review, draw, and record export. Keep the original source separately so a teammate can understand both the accepted outcome and the preparation choices that determined who had a chance.

      Bring names or CSV without importing unnecessary data

      For a simple list, place one entrant identifier on each line. Do not paste the whole post description, a screenshot transcription containing interface labels, or a paragraph of comma-separated names and assume it represents separate people. If comments affect eligibility or duplicate decisions, a CSV is the clearer source. Use UTF-8 encoding and include a header row so you can explicitly select the entrant and comment columns rather than relying on their position in the sheet.

      Only the columns you select are used. A date, platform label, email address, follower count, or evidence URL in another column does not become a hidden eligibility rule. Keep those details in your private preparation sheet when needed and avoid importing unrelated personal information. If eligibility depends on a cutoff or attendance check, finish that work before the draw. The picker does not interpret ignored columns, visit evidence links, or infer identities from email values.

      The input limits are ten thousand rows and two megabytes, with an entrant value up to one hundred Unicode code points and a comment up to one thousand. These are limits of this tool, not limits of a social platform’s comment system. Locally bundled Papa Parse 5.5.3 handles CSV structure. Keep commas, quotation marks, and line breaks correctly quoted by exporting a real CSV from your sheet instead of manually splitting comment text around punctuation.

      After import, confirm the selected headers, first and last records, and any names containing accents or unusual characters. Read import errors before continuing. An invalid import keeps the existing source intact, so a failed new file is not evidence that the visible pool has changed. File reading can finish asynchronously; if you change the input or reset during processing, the older revision must not replace your newer work. Always check which accepted source is actually displayed.

      Make identity matching and duplicate handling explicit

      The picker trims surrounding whitespace from identifiers and applies Unicode NFC normalization. Optional switches remove a leading at-sign and fold case for matching. Those choices help reconcile ordinary collection differences, such as a handle copied with an at-sign in one batch but without it in another. They are not account verification. They do not discover renamed accounts, translate names, remove every accent, or establish that similar labels belong to the same participant across several services.

      Check the kind of identifier you actually collected. X distinguishes a username from a display name; importing the decorative name rather than the handle can lose an account distinction. For mixed-platform campaigns, the same handle text on two services is not evidence of common ownership. Prepare unambiguous labels where those accounts should remain separate and retain an external lookup to their source. The browser cannot repair a choice that collapsed different accounts before the list arrived.

      Exact duplicate rows are identified by the normalized entrant together with the comment after trimming and NFC normalization. Duplicate removal is on by default and can be turned off. Different comments from the same identifier are not automatically exact duplicates. Repeated plain-list lines have the same empty comment, however, so duplicate removal can collapse them. If identical submissions are intended to earn separate chances, preserve them deliberately and check how many eligible rows remain.

      Keep duplicate removal separate from the draw mode. Unique mode still gives each eligible identity one chance even if several distinct comments remain. Entries mode lets retained eligible rows supply additional weight, but a selected identity will not win twice. The duplicates and entry rules guide works through these distinctions in detail. Decide the rule from your entry offer before seeing a result, rather than changing it to favor a familiar participant afterward.

      Read the review as an explanation of the eligible pool

      Inspect missing or invalid records, excluded entrants, keyword failures, and duplicates before accepting the pool. A missing identifier is not made usable by an interesting comment, and a rejected row is not automatically evidence of abuse. Look for ordinary preparation problems such as the wrong selected column or a broken CSV field. Keep a factual reason for each eligibility decision and correct the source when the submission itself is valid but your transcription is not.

      The keyword option is a literal, case-insensitive substring search in the selected comment. ‘BOOK’ can match ‘book club,’ while a short term such as ‘art’ can also occur inside ‘cart.’ It is not a whole-word test, regular expression, answer grader, or tag checker. A mention inside a comment remains text; it does not add the mentioned account as another entrant. Review a few matching and nonmatching comments to confirm the chosen term expresses your intended rule.

      In the reading-box example, Isha has three source rows, Noah has two, and seven other identities have one each: twelve rows and nine identities. One Isha row and one Noah row are exact copies removed by the duplicate setting, leaving ten rows and nine identities. Orla’s only comment fails the chosen phrase, leaving nine rows and eight identities. Excluding Pavel’s identity removes his only row, leaving eight eligible rows representing seven identities for the draw.

      An entrant exclusion removes every row matching that normalized identity, not just one undesirable comment. The final review therefore needs both counts: eligible rows describe the available entry weight, while eligible unique identities describe how many distinct positions can be filled. Neither is necessarily equal to a post’s displayed comment count. On YouTube, for example, held comments are separate from published comments; resolve the source boundary externally instead of treating a public view as automatic proof of completeness.

      Choose equal identities or eligible-row weighting

      Unique mode gives every eligible normalized identity the same chance at the next position. In the reviewed reading-box pool, seven identities remain, so each has one of seven chances for the first winner. Isha’s two retained rows do not provide an advantage in this mode. This is suitable when your prepared campaign rule is one chance per account label, but it still does not establish one chance per real person or household without separate preparation.

      Entries mode draws against eligible rows instead. Isha has two of the eight remaining rows, so her chance at the first position is one quarter. Each of the other six identities has one of eight. That difference is the intended effect of weighting, not a claim that the more active account is more deserving. If you promised capped bonus entries, prepare the allowed rows before import: the picker does not automatically enforce a daily submission cap or calculate attendance bonuses.

      After each selection, the chosen identity and all its rows are removed. If Isha is selected first in this example, six rows representing six identities remain. If another identity is selected first, seven rows representing six identities remain, with Isha still holding two rows. Later chances depend on that path. Do not multiply a first-position percentage by the prize count and present it as an exact overall probability of appearing anywhere among several winners and reserves.

      Choose one to fifty winners and, optionally, zero to fifty reserves. Their combined count cannot exceed the eligible unique identities, regardless of how many row-weighted chances remain. Eight eligible rows across seven identities cannot fill eight distinct positions. Reduce the request or fix an incomplete source rather than duplicating names to reach a target. This tool deliberately removes repeated identities between positions; it is not a process for awarding multiple prizes to the same supplied identifier.

      Review once, then draw with browser-provided randomness

      Review creates a frozen eligible pool for the draw. It is a deliberate checkpoint between changing inputs and selecting names, not an automatic draw triggered by typing. Confirm the source, identity options, duplicate setting, keyword, exclusions, weighting mode, and requested positions. Then use the explicit Draw winners action. A second operator can help by comparing those choices with the campaign entry offer and independently explaining the final row and identity counts before anyone is selected.

      The selection uses crypto.getRandomValues with unsigned thirty-two-bit values and rejection sampling to choose an unbiased index. The browser supplies the random values. Rejection sampling avoids favoring some indexes when the full integer range cannot be divided evenly by the number of available choices. For ten choices, for example, the thirty-two-bit range has six surplus values; leaving those outside the accepted range allows the remaining possibilities to map evenly onto the ten indexes.

      There is no Math.random fallback. If the required secure random source is unavailable, the picker refuses to draw rather than silently changing its selection method. That describes how indexes are chosen, not an independent audit of your campaign. Random selection cannot establish that your source was complete, that the eligibility checks were correct, or that an operator never tried an earlier draw. The saved record documents the accepted run without becoming tamper-proof certification.

      A new draw after an existing result requires confirmation. Treat another run as another random outcome, not as a way to improve the first winner’s appearance or popularity. Changing any input invalidates review, results, and exports immediately, so an altered pool must be reviewed again. If you need to correct a real preparation error, preserve the original downloaded record, document the reason, and save the corrected run separately rather than presenting it as the unchanged first selection.

      Use ordered reserves without confusing them with winners

      Reserve positions are drawn after the winners from the remaining eligible identities. Because each chosen identity has already been removed with all of its rows, winners and reserves are distinct in both weighting modes. Their order matters: reserve one is not interchangeable with reserve three simply because both are backups. Decide your replacement approach before drawing and keep the rank labels when transferring the result into a private working sheet or contact log.

      For the reading-box campaign, two winner positions and two reserve positions require at least four eligible identities. If the second winner declines, the organizer can follow the announced process for contacting the next available eligible reserve. That is a follow-up decision using the saved order, not another random selection. The picker does not detect a declined prize, decide when a deadline has passed, promote a reserve automatically, or notify anybody that they have been selected.

      Maintain contact attempts and acceptance separately from the original draw. Record which selected position became available, why it became available, which reserve was approached next, and the response deadline with its timezone. Do not edit the original exported winner to conceal a later change. A small chronological log lets another teammate distinguish the initial random outcome from the current recipients, even if several replacements occur before every prize has been accepted and fulfilled.

      Use the reserves and redraw records guide when you need a fuller handoff. It distinguishes an exhausted backup list from a faulty original pool and explains how to preserve both runs when a fresh draw is justified. Account checks, availability, and fulfillment stay in your normal campaign workflow. The useful promise here is a distinct ordered selection and a record of it, not automatic management of every event after the draw.

      Export the result while keeping the full record private

      Choose Copy result for a compact working message, CSV results for selected positions in a sheet, JSON for the full draw record, or PDF for a readable record with guidance. The full record contains a UTC timestamp, random draw identifier, settings, counts, winners, ordered reserves, eligible pool, and excluded row reasons. Keep it with the original prepared source and external decisions. The PDF footer links to this exact tool rather than merely pointing to a generic homepage.

      Read the privacy warning before sharing a full record. Eligible comments and exclusion reasons can reveal information about people who did not win, and the public announcement rarely needs that detail. Prepare a limited announcement from the intended result instead of attaching the entire JSON to demonstrate openness. Keep unnecessary personal information out of imported comments in the first place. Unselected CSV columns are ignored, but text intentionally selected as a comment becomes part of the processed source.

      Entrant inputs remain in page memory only. The picker does not save entries in localStorage or cookies, send entry telemetry, or upload the entry list. This also means you should download the record before leaving or reloading the page. Keep files you need in your own private campaign storage; the browser session is not an archive. Imports and exports are revision-guarded, so a delayed operation must not substitute an older source or result after you have changed the current input.

      Open the downloaded files and compare names, ordering, settings, and counts with the accepted result before handing them over. Name original and corrected draws distinctly. This free picker is separate from SMTasker’s account software and does not create a giveaway integration. For other preparation jobs, browse all free tools; for ongoing account routines, explore SMTasker separately. A completed draw should leave you with both usable selected names and enough private context to explain how the pool was formed.

      Prepare entries for their actual context

      Giveaway workflows for nine platforms

      Choose a platform guide for list preparation, or review duplicate rules, reserve order and draw records in the practical guides.

      Instagram Giveaway Winner Picker

      An Instagram giveaway winner picker needs a dependable entrant list before it needs a draw button. A comment can contain its author, several tagged friends, a campaign word, and…

      Read the guide

      TikTok Giveaway Winner Picker

      A TikTok giveaway can gather a second wave of comments long after the original post starts circulating. Repeat participation adds another question: are several comments extra chances, or just…

      Read the guide

      YouTube Giveaway Winner Picker

      A YouTube giveaway winner picker should draw from the comments your announcement actually invited, not from every conversation around your channel. A tutorial, its teaser Short, and a livestream…

      Read the guide

      Facebook Giveaway Winner Picker

      A Facebook giveaway can leave you with several kinds of records: comments on the announcement, answers collected at an event, and corrections entered by another organizer. Combining those records…

      Read the guide

      LinkedIn Giveaway Winner Picker

      A professional event can produce a registration export, an attendee list, a check-in sheet, and a separate prize invitation. Those records describe different things. A LinkedIn giveaway winner picker…

      Read the guide

      Threads Giveaway Winner Picker

      A lively Threads conversation can contain recommendations, jokes, follow-up questions, and genuine giveaway entries in the same reply tree. The reply total alone cannot tell you which is which….

      Read the guide

      X (Twitter) Giveaway Winner Picker

      An X giveaway winner picker needs an entrant list, not just a busy post. Replies, reposts, and quote posts represent different actions, and a familiar display name is not…

      Read the guide

      Snapchat Giveaway Winner Picker

      A Snapchat giveaway can attract replies in several places without producing one ready-made entry list. Someone viewing a Story has not necessarily entered, and a friendly Chat may have…

      Read the guide

      Reddit Giveaway Winner Picker

      A Reddit giveaway thread mixes entries with questions, moderator notices, and conversations between members. Some comments may still be visible after their authors’ identities are gone. A useful winner…

      Read the guide

      Duplicates and Entry Rules

      A giveaway list can contain several rows for one account without containing several different entrants. Whether those rows deserve extra chances depends on the entry offer you made, not…

      Read the guide

      Reserves and Redraw Records

      A selected winner may decline, miss the response deadline, or turn out not to meet a condition checked after selection. The useful question is what happens next without losing…

      Read the guide

      Questions about picking giveaway winners

      Can I paste a social post URL to collect giveaway comments?

      No. The picker does not fetch URLs, connect to accounts, or import comments from a platform. Prepare your entrant list outside the tool, apply the intended collection boundary, and paste names or import a supported UTF-8 CSV. Account checks and publication remain separate tasks.

      What is the difference between duplicate removal and unique mode?

      Duplicate removal handles rows with the same normalized entrant and trimmed NFC comment. Unique mode changes weighting so each eligible identity gets one chance even if different comments remain. Entries mode instead weights retained eligible rows. Neither mode lets a selected identity occupy another winner or reserve position in the same draw.

      Can an ignored CSV date column enforce my closing time?

      No. Only the explicitly selected entrant and comment values are used. The picker does not apply a cutoff from another column or validate dates against a platform. Resolve time-based eligibility while preparing the source, keep the relevant evidence privately, and review the resulting eligible totals before drawing.

      Is the draw record independent proof of a fair campaign?

      No. It records the operator’s selected pool, settings, counts, timestamp, and outcome. Browser-provided randomness with rejection sampling supports unbiased index selection, but the file is not tamper-proof certification. It cannot prove source completeness, personal identity, correct external eligibility checks, or the absence of earlier draws.

      Will my entries still be available after I close the page?

      The tool keeps inputs in memory, not saved browser storage. Download the result and full record before leaving, and retain your original source separately. A new session needs a prepared list again; the JSON export is a draw record, not a promised project-restoration or automatic campaign-tracking feature.

      Keep the giveaway and daily account work separate

      Make the draw here. Bring structure to supported social tasks.

      Try SMTasker for five days with Android phones and a Windows or macOS client. Organize supported platform actions, schedules and logs, with Skye for contextual assistance. The free picker is a separate local tool; it does not connect to SMTasker or automate prize delivery.