You ran a giveaway, the comments came in, and now you have to pick one winner without anyone saying it was rigged. Scrolling the post and eyeballing a name is slow and impossible to defend. A spreadsheet is better: every entry is a row, the draw is a formula, and you can show your work.
This guide walks through the whole process. You export the comments with the free Instagram Comments Exporter from Lection, clean the list in Google Sheets (or Excel), and draw a random winner. It also covers the limits, because a fair draw depends on being honest about what the data does and does not contain.
What you need
- Desktop Chrome with the free Lection extension.
- An Instagram login in that same browser. The exporter reads comments your own account can already see.
- The link to the giveaway post or Reel.
- Google Sheets or Excel.
Step 1: Export the comments
- Open the Instagram Comments Exporter and make sure you are logged in to Instagram in the same Chrome profile.
- Paste the post URL and run it. A preview table of comments appears.
- Click Load More, or use Export All to page through the whole thread. Large giveaways take a few minutes, and Instagram can rate-limit long runs, so wait and retry if it stalls.
- Download the result as CSV or Excel.
Each row is one top-level comment, with the username, comment text, like count and date. Replies are not listed as separate rows. For the full export walkthrough see how to export Instagram comments to Google Sheets.
Step 2: Import the file into Google Sheets
In a new sheet choose File, then Import, then Upload, and select the CSV. Pick "Replace spreadsheet" if the file is new. Check that the Username column is column A, or adjust the formulas below to match where it landed.
Before you change anything, make a copy of the sheet and name it "raw export". If anyone questions the result, that tab is your evidence.
Step 3: Remove duplicate entries
Most giveaway rules say one entry per person, but people comment many times. To keep one row per account:
- Select the whole data range.
- Choose Data, then Data cleanup, then Remove duplicates.
- Tick "Data has header row" and select only the Username column.
- Click Remove duplicates. Sheets tells you how many rows it removed.
Write that number down. "412 comments, 305 unique entrants" is the kind of line you can post alongside the result.
Excel: select the data, open the Data tab, click Remove Duplicates and tick only the Username column. The effect is identical.
One caveat: Remove duplicates keeps the first row for each username, which is not necessarily the person's best entry. If your rules require, say, a comment that tags a friend, apply that filter first (next step), then remove duplicates.
Step 4: Apply your entry rules
Only keep rules you actually announced in the giveaway post. Two common ones are easy to check in a sheet.
Required tags. If the rule was "tag at least one friend", add a helper column that counts the @ symbols in the comment. If the comment text is in column B and row 2:
=LEN(B2)-LEN(SUBSTITUTE(B2,"@",""))
Fill it down, then filter the helper column to values of 1 or more. For a "tag two friends" rule, filter for 2 or more. This counts @ characters, so it can miscount a comment with a typo or a repeated tag of the same person. Skim the rows near the cutoff.
Required keyword. If entrants had to include a word or hashtag, use Data, then Create a filter, then filter the Comment column by condition "Text contains".
Two rules the export cannot check on its own are whether someone follows your account and whether they liked the post. The comments export does not contain either. If those are part of your rules, check the finalists by hand before you announce anyone. It is much easier to verify three people than three hundred.
Step 5: Draw the winner
After cleaning, you have a list where every remaining row is a valid entry. Paste the cleaned list into a new tab so the numbering is simple, with usernames starting in A2 under a header in A1. Then, in any empty cell:
=INDEX(A2:A, RANDBETWEEN(1, COUNTA(A2:A)))
COUNTA counts the entries, RANDBETWEEN picks a random position between 1 and that count, and INDEX returns the username at that position. In Excel, use a bounded range instead, for example =INDEX(A2:A306, RANDBETWEEN(1, COUNTA(A2:A306))), because open-ended ranges behave differently there.
Two things to know:
- The formula re-rolls on every edit. Sheets and Excel recalculate random functions whenever the sheet changes. Once you have a winner, copy the cell and use Edit, then Paste special, then Values only (in Excel, Paste Special, Values). The name is now fixed text.
- Draw backups at the same time. Run the formula again for a second and third pick, pasting each as a value, in case your first winner does not reply or turns out to be ineligible. Skip any repeat of an earlier pick.
If you want a visible audit trail, there is an alternative: add a helper column with =RAND(), paste it as values, sort by it, and read the top row as the winner and the next rows as backups. The result is the same kind of random order, and it leaves the full shuffled list behind for anyone who wants to look.
Step 6: Make the draw checkable
The point of using a spreadsheet is that it can be reviewed. A few habits make the difference:
- Keep the "raw export" tab untouched.
- Note the number of comments, the number of unique entrants and the number after your rules were applied.
- Screen-record the draw: show the cleaned list, run the formula, then paste as values and show the winner. Post the clip or a link to it with your announcement.
- Announce the winner by username, and give them a deadline to respond before you move to a backup.
None of this makes the giveaway more random than a good picker app would. What it adds is that anyone can follow every step from the raw comments to the result.
Limits to know about
- Top-level comments only. Entries made as replies to another comment are not rows in the export. If your rules allow reply entries, tell people to comment on the post directly.
- You need to be logged in. The exporter uses your Instagram session in your own browser, and only reads what you can see.
- Rate limits are Instagram's. A very large giveaway may stall partway. Export again and compare the row count against what the post shows. The displayed total can include replies and hidden comments, so a small difference is normal.
- Fake and giveaway-bot accounts. The export shows usernames, not whether an account is real. Look through your winner's profile before you announce them.
- Instagram's promotion rules. Giveaways have to follow Instagram's promotion guidelines and the contest laws of the places where your entrants live. Lection is a data export tool, not an official Instagram picker, and this guide is not legal advice.
- Handle the data carefully. Comments contain people's names and words. Use the list for the draw, and delete it afterward. Our guide to scraping legality covers the broader picture.
Want it to run itself next time?
If you run giveaways regularly, you can save the scrape and schedule it, so comments land in a Google Sheet while the giveaway is still open. Scheduled delivery to Google Sheets is part of the Standard plan, and the free plan delivers scheduled results by email. The Google Sheets integration page lists the steps.
Start the 30-day Standard trial. It is free for 30 days, then $29 per month, a card is required, and it is for first-time subscribers only. To do the export for this guide you do not need it: the free tool and a CSV are enough.
FAQ
Can I pick an Instagram giveaway winner for free? Yes. Export the comments with the free tool, then use Google Sheets or Excel for the cleanup and the draw. No paid plan is required.
How do I stop one person from winning more than once? Remove duplicates on the Username column before you draw, so each account is one row.
Is RANDBETWEEN truly random? It is a pseudo-random function that is more than good enough for a giveaway. What matters for fairness is that the list is cleaned by your announced rules, the draw is recorded, and the winner is pasted as a value.
Does this work for Reels? The exporter accepts post and Reel URLs.
Can I check that entrants followed my account? Not from the comments export. Check your finalists by hand, in Instagram, before announcing.
Can I use Excel instead of Google Sheets? Yes. The steps are the same, with the small differences noted above.
Need the people behind the account too? See the Instagram Followers Exporter, or the broader guide to scraping Instagram without code.