Instagram comment picker

Free · no signup

Paste the comments from your giveaway post, filter by keyword or required tag, remove duplicate entries, then draw. The shuffle runs in your browser, so nothing about your entrants leaves this page.

The name at the start of a line is the entrant, and the rest of the line is their comment.

Case is ignored. Leave it blank to count every comment.

0
Comments
0
Eligible
0
Excluded
Odds per eligible entrant: No entrants yet
Keep the draw defensible

Announce the rules before you post, apply exactly those rules here, and screenshot the result with the eligible count visible. Disputes come from changing the rules after the entries land, not from the shuffle.

Next step

Now DM all 400 of them.

DMly replies to every comment automatically and moves the conversation into DMs, winner or not, they are all leads.

The Count Under the Post Is Not an Entry List

A bakery gives away a birthday cake and wakes up to 300 comments. A tattoo studio offers one small flash piece and gets 40.

Both numbers count comments, not people. An Instagram comment picker can only draw from the lines you paste into it, and the gap between the number on the post and the lines in your box is where the arguments start.

The panel above reads text and nothing else. So the fairness of a draw is settled by the collecting, not by the shuffle.

How to Run an Instagram Comment Picker Draw

The sequence takes a couple of minutes once the comments are in front of you.

  1. Write the entry rules into the caption before the post goes live. One word to type, one friend to tag, one entry each.
  2. Open every reply thread on the post, then scroll the comment list until nothing more loads.
  3. Copy them into the box labelled “Paste the comments, one per line”. Its placeholder shows the shape it wants, a handle first and the comment after it.
  4. Type your entry word into “Required keyword (optional)”. Case is ignored, and a blank field counts every comment.
  5. Leave “One entry per person” ticked. Tick “Must tag a friend” only if the caption asked for a tag.
  6. Set Winners. The button relabels itself as you type, so at two it reads “Draw 2 winners”.
  7. Read the three tiles before you press anything. Comments, Eligible and Excluded recount on every keystroke.
  8. Press the button, then screenshot the green card before you touch another field.

Editing anything after a draw retires the result on screen. The screenshot comes before the next keystroke, not after it.

Collecting Instagram Comments From a Nested Thread

Instagram keeps replies one level down, folded behind a control on the parent comment. One fold per parent. They stay folded until somebody opens them by hand, and a folded reply cannot be copied.

The list also arrives in batches as you scroll. On a post that ran all weekend, the bottom of what you can see is not the bottom of the thread.

Then there are the comments you were never shown. The hidden words filter takes anything containing a word on your list out of view. Comments from an account you have restricted are visible only to their author until you approve them. A deleted comment leaves nothing behind.

Instead of one list you have four surfaces: the top level, every reply thread you opened, the batches that only load as you scroll, and whatever your own filters quietly removed.

Replies carry a second problem that belongs to Instagram alone. Tapping Reply puts the other person’s handle at the front of the compose box, so the reply starts with the handle of the person being replied to.

Pasted as a line, that reply is credited to the wrong account, and with “Must tag a friend” ticked it is excluded on top of that, because the only @ on the line has been read as the entrant. Either move the author’s handle to the front by hand, or announce that only top level comments count.

How a Pasted Line Becomes an Entrant

Blank lines are skipped. Every other line counts as one comment, and the entrant is read off the front of it in three passes.

  • A leading handle. An @ followed by up to thirty characters of letters, numbers, full stops and underscores, the shape an Instagram handle already has. Any run of spaces, colons, commas, full stops or hyphens after it is eaten, and the rest is the comment.
  • A colon inside the first forty characters. Everything before the colon is the entrant, everything after it is the comment. That is what a copied display name usually looks like.
  • Neither. The first word is the entrant and the rest is the comment. A single word line is an entrant with nothing attached.

The identity behind “One entry per person” is that name, lowercased, with the @ dropped. So @Bex.Reads and @bex.reads collapse into one person, which is how Instagram treats them too.

Web furniture rides along with any copy taken off the page. Timestamps, like counts and the word Reply each land on their own line and each counts as a comment. With no keyword set, a line reading Reply is an entrant called Reply, and it can win.

One Entry Per Person, and What the Tag Box Can Test

Three filters run in a fixed order, and the order shows up in the counts.

The keyword goes first, matched as plain text anywhere in the whole line, lowercased. The tag test comes next, run on what is left after the entrant’s own handle has been taken off the front. The duplicate check runs last, so the line that enters for a repeat commenter is their first one that survived the other two.

Matching against the whole line has a consequence worth knowing before you choose the word. The handle is part of that line, so an entrant whose name contains your entry word passes without typing it. A short word like in is satisfied by winner, inside and half the handles on the post.

The tag test is looser still. It asks whether an @ followed by a letter, number, full stop or underscore survives anywhere in the comment. That is the entire check, and it passes things you would never accept by eye.

  • An account that does not exist. Nothing is looked up, so a typo counts as a tag.
  • The same friend, forty times. One person tagged across forty comments is forty valid tags.
  • A second account the entrant owns. There is no way to connect two handles to one human.
  • The handle Instagram inserted. A reply with the author’s name typed in front of that inserted handle passes the tag test on the platform’s own text.

“Must tag a friend” arrives unticked, the right default for a plain comment draw. Untick “One entry per person” only if you announced that every comment is an entry. Ten comments then buy ten chances, which is a defensible rule and not the one most captions promise.

Whose Rules Apply to an Instagram Giveaway

Meta’s promotion guidelines put the promotion on the promoter. The official rules, who may enter, the prize and everything lawful about it are yours to write and yours to answer for.

The guidelines have long asked for two things in the copy itself. Entrants are to be told that the promotion is not sponsored, endorsed or administered by Instagram, and that Meta is released in connection with it. Read the current wording on Meta’s own page before you publish, rather than copying a caption off a competitor.

Meta also asks promoters not to encourage inaccurate tagging, which is about pulling accounts into a photo they are not in. Asking somebody to name a friend in a comment is a different mechanism, and it is the ordinary shape of a comment draw.

Follow to enter is the requirement this panel cannot test. A pasted comment list carries no follower data, so that check happens by hand on the drawn winner. Say so in the rules, along with what you will do if the winner turns out not to qualify.

A Draw Walked Through: Ten Lines, Two Winners

The caption asked people to comment SUNDAY, one entry each, two winners. So the keyword field reads sunday, “One entry per person” stays ticked, “Must tag a friend” stays off, and Winners is set to 2.

Ten lines get pasted.

  • @bex.reads SUNDAY, been waiting for this one
  • @bex.reads sunday again just in case
  • @tomcooksslow Sunday
  • @harper_wilde count me in
  • 2 d
  • Reply
  • @sunday.linens gorgeous colours
  • Ellie Mason: sunday
  • @ellie_mason sunday please
  • @priya.makes sunday

Comments reads 10, because ten lines are not blank. Then the filters take them one at a time.

  1. Bex passes the keyword and enters the pool.
  2. Her second line passes the keyword too, then loses to the duplicate rule.
  3. Tom passes. Case is ignored, so Sunday counts.
  4. Harper never typed the word. Excluded.
  5. A timestamp that came off the page. No keyword, so it goes.
  6. A Reply control, same story.
  7. The keyword is matched against the whole line, and this handle contains sunday. A shop that never entered is now in the pool.
  8. The colon path. The entrant is Ellie Mason and the identity is ellie mason.
  9. The handle path. The identity is ellie_mason, a different person as far as the rule can tell.
  10. Priya passes and enters.

Eligible reads 6, Excluded reads 4, and the odds line reads “1 in 3, or 33.3%”. The rules used line reads: comment must contain “sunday”, one entry per person.

Two of those six are wrong, and both are visible in the paste rather than in the result. Delete the linens line, which is a shop and not an entry, and delete one of Ellie’s two lines.

Comments now reads 8, Eligible reads 4 and the odds read “1 in 2, or 50.0%”. Press the button and the rules line gains a second half, drawn from 4 eligible entrants out of 8 lines pasted, followed by the time and date off your own browser clock.

Harper was excluded on a rule you published. That is the version of this you can defend.

Why the Shuffle Holds Up, and What It Cannot Prove

The draw is a Fisher-Yates shuffle. It walks the eligible pool from the last position backwards, swapping each entrant with one chosen at random from the positions at or before it, which gives every possible order the same chance.

The random numbers come from the browser’s own cryptographic source where the browser has one. A 32 bit value does not divide evenly into a pool of six, so the numbers that would tilt the result are thrown away and another is drawn. Browsers too old for that source fall back to the ordinary random function.

The shuffle is sound. What it cannot do is prove to a stranger that it ran the way you say it did.

The record is the screenshot. The green card carries the platform name, the winners, the filters used and both counts inside one frame.

Announce → Collect → Filter → Draw → Screenshot

Nothing stops you pressing the button twice, and the second press usually names somebody else. No amount of entropy fixes that. Publishing the rules first and keeping the first screenshot is what makes a result stand.

When the Comment Picker Numbers Look Wrong

The three tiles are the diagnostic. Read them as a ratio, not as a trophy.

  • Comments far above the entries you counted by eye. Timestamps, like counts and Reply lines came in with the copy. Harmless once a keyword is set, dangerous without one.
  • Excluded stuck near zero with a keyword in place. The word is matching inside handles and inside longer words. Choose an entry word that is not a fragment of a common one.
  • Eligible higher than the number of people you recognise. Handles and typed display names are mixed in the paste, so somebody has parsed as two identities.
  • Eligible equal to Comments. Check the rules used line. If it reads “no filters, every line counted”, the keyword box is empty and both toggles are off.
  • The button greyed out. Eligible is zero, which is usually a misspelled keyword or an empty paste box.
  • The odds reading “Everyone eligible wins”. Winners is at or above the size of the pool. The draw still runs and still puts them in an order, but there is nothing left in it to draw.

One failure never shows on screen. A winner who never replies, because the account went private, went quiet or deleted the comment. Put a claim window in the published rules and draw again when it lapses.

What the Picker Never Sees

There is no connection to Instagram, no login and no fetching. Nothing is kept either, so there is no log and no link you can send anybody as proof. The screenshot is the only artefact.

It cannot check a follow, a like, a save or a story share. It cannot tell whether a tagged account is real, distinct, or a second account belonging to the entrant. It cannot verify age or country.

There is no runners-up field in this mode. Winners is the only count and the card lists exactly that many. The Facebook giveaway picker runs the same panel with runners-up added, which is the better fit when you want a reserve list inside the same screenshot.

For a draw on a Page rather than a profile, the Facebook comment picker covers how that thread behaves. For a video draw, the TikTok comment picker does the same job under TikTok’s own rules.

Everyone Who Did Not Win

One account gets a prize. The rest get a notification saying somebody else did, and then nothing.

They typed the word you asked for and they are sitting in a thread with your account at the top of it. With DMly, you can reply to every one of those comments automatically and move the conversation into DMs, winner or not.

That does not make them customers. It makes them reachable, which is a smaller and more useful claim. The Instagram engagement rate calculator puts a number on what a comment count like that is worth to you.

Frequently asked

The Comments tile counts every line in the box that is not blank. Copying off the page brings timestamps, like counts and the word Reply along with the comments, and each of those lands on its own line. Set a required keyword and they drop out of the eligible pool.

Tapping Reply on Instagram puts the handle of the person being replied to at the front of the compose box. The picker reads the name at the start of a line as the entrant, so that inserted handle is taken off the front and nothing with an @ is left in the comment text. The tag test then fails and the line is excluded. It is also credited to the wrong account, so either move the author's handle to the front by hand or announce that only top level comments count.

Leave One entry per person ticked. The identity is the name at the front of the line, lowercased, with the @ dropped, so @Bex.Reads and @bex.reads count as one person. A typed display name and a handle for the same human still read as two identities, so check the paste rather than the result.

No. There is no connection to Instagram, no login and no fetching, so a pasted comment list carries no follower data. Check the follow by hand on the drawn winner and say in your published rules what happens if they do not qualify.

It is a Fisher-Yates shuffle. The random numbers come from the browser's own cryptographic source where the browser has one, and values that would tilt a small pool are thrown away and redrawn. Browsers too old for that source fall back to the ordinary random function. What the shuffle cannot do is prove to a stranger that it ran the way you say it did, which is what the screenshot is for.

Nothing is kept, so there is no log and no link you can send anybody as proof, and editing any field clears the result on screen. Put a claim window in the rules you published, then paste the comments again and draw again when it lapses.

Scroll to Top