IGComments

Guides

How to export Instagram comments to Google Sheets

Google Sheets is a good home for Instagram comments: easy to share with a team, and its formulas make short work of counting, filtering and searching. This guide covers getting the file in cleanly and the formulas worth knowing.

Updated Oct 6, 2026 · 8 min read

Step 1: download the comments

  1. On Instagram, open the post or Reel, tap Share → Copy link. The account must be public.
  2. Paste the link into IGComments and press Get comments. You don’t log in to Instagram.
  3. Download the Excel (XLSX) file. (CSV works too — see the note below about IDs.) If you only need part of the conversation, search or filter first; the download contains exactly those rows.

Posts with up to 200 comments are free. For bigger posts the first 200 are a free preview, and a one-time Export Pass unlocks the rest — from $4.99 for up to 10,000 comments. There’s also a short overview on the Instagram comments to Google Sheets page.

Step 2: import it into Sheets without breaking anything

  1. Open Google Sheets (a new spreadsheet, or the one you want to add to).
  2. Choose File → Import → Upload and select the downloaded file.
  3. Choose Replace spreadsheet, Insert new sheet(s) or Replace current sheet, then Import data.

Why XLSX is the safer choice: comment_id and user_id are long numbers. Like Excel, Google Sheets keeps about 15 significant digits for numbers, so if those IDs are treated as numbers their last digits get rounded off. In our XLSX file they are stored as text and come through intact. If you import the CSV instead, Sheets shows an option called Convert text to numbers, dates, and formulas; leaving it on can round the IDs, while turning it off keeps IDs safe but also leaves likes as text. If you never use the IDs, this doesn’t matter.

Emoji and non-Latin scripts come through correctly either way — the CSV is UTF-8.

Once imported, select row 1 and choose View → Freeze → 1 row, then Data → Create a filter to get sort and filter controls on every column.

The columns and how to reference them

ColHeaderNotes
A#Row number in fetched order
Bcomment_idUnique per comment
CusernameCommenter’s handle
Duser_idStays the same if the username changes
EcommentFull text
Fposted_at_utc2026-10-06 14:05:31, in UTC
GlikesLikes on the comment
His_replyyes or no
I, Jreply_to_comment_id, reply_to_usernameFilled on replies
K, Lmentions, hashtagsSpace-separated, e.g. @anna @ben

The formulas below assume this layout on a sheet called Comments. Open-ended ranges like C2:C grow with the data, which is convenient in Sheets. If the timestamps are text, =DATEVALUE(F2)+TIMEVALUE(F2) turns one into a real date-time you can format and calculate with.

Counting: UNIQUE, COUNTUNIQUE and COUNTIF

  • Every distinct commenter: =UNIQUE(Comments!C2:C) — spills the list down the column. Wrap in SORT() for alphabetical order.
  • How many distinct commenters: =COUNTUNIQUE(Comments!C2:C)
  • Comments by one person: =COUNTIF(Comments!C2:C, "anna.designs")
  • Each person’s comment count, next to every row: in M2, =ARRAYFORMULA(IF(C2:C="", "", COUNTIF(C2:C, C2:C)))
  • Replies: =COUNTIF(Comments!H2:H, "yes")
  • Comments mentioning a word: =COUNTIF(Comments!E2:E, "*giveaway*") (case-insensitive)
  • Comments that tag at least one account: =COUNTIF(Comments!K2:K, "@*")

The IGComments stats panel shows the headline versions of these — total, unique and repeat commenters, replies, questions and comments with @mentions — before you even open Sheets. For background on what each count means, see how to count unique commenters.

Searching: REGEXMATCH and FILTER

Sheets’ regular-expression functions are the easiest way to search for several words at once — something a single search box can’t do.

  • Flag rows that contain any of several words: in a new column, =ARRAYFORMULA(IF(E2:E="", "", REGEXMATCH(LOWER(E2:E), "price|cost|how much|precio|preço"))). Filter that column to TRUE.
  • Pull matching rows onto another sheet: =FILTER(Comments!A2:L, REGEXMATCH(LOWER(Comments!E2:E), "ship|deliver|envío|frete"))
  • Questions only: =FILTER(Comments!A2:L, REGEXMATCH(Comments!E2:E, "[?¿]"))
  • Whole word only: \b marks a word boundary, so "\bsize\b" matches “size” but not “oversized”.

Use LOWER() so capitals don’t matter, or start the pattern with (?i) for the same effect. Sheets uses RE2 regular expressions, which cover everything above. For a full workflow built on this, see how to find questions and buying intent in comments.

Summarising: QUERY

QUERY lets you write a small SQL-like statement against the sheet. A few that are useful on comment data:

Most active commenters:

=QUERY(Comments!A1:L, "select C, count(B) where C is not null group by C order by count(B) desc limit 20 label count(B) 'comments'", 1)

Most-liked comments:

=QUERY(Comments!A1:L, "select C, E, G order by G desc limit 10", 1)

Top-level comments containing a word:

=QUERY(Comments!A1:L, "select C, E, F where H = 'no' and lower(E) contains 'price'", 1)

Replies grouped by who they answered:

=QUERY(Comments!A1:L, "select J, count(B) where H = 'yes' group by J order by count(B) desc", 1)

The last argument, 1, tells QUERY the first row is a header. If likes was imported as text (CSV with conversion turned off), sorting by it will be alphabetical rather than numeric — another reason to import the XLSX file. A pivot table (Insert → Pivot table) gives the same summaries if you prefer clicking to formulas.

Sharing and keeping the sheet tidy

  • Keep the raw import untouched on one tab and do your formulas on others. If you re-fetch the post later, you can replace the raw tab and every formula updates.
  • Share with care. The sheet contains usernames and what people wrote. Share it with the people who need it, not “anyone with the link”, and delete it when the job is done. See is it legal to export Instagram comments.
  • Combine several posts by importing each export into its own tab, then stacking them with ={Post1!A2:L; Post2!A2:L}. Add a column noting which post each row came from.
  • Chart comments per day. In a spare column, =ARRAYFORMULA(IF(F2:F="", "", LEFT(F2:F, 10))) extracts the date. Then =QUERY(M1:M, "select M, count(M) where M is not null group by M", 1) gives one row per day; select it and choose Insert → Chart for a line chart of the conversation over time.
  • Don’t pick giveaway winners with RAND() — it changes every time the sheet recalculates and leaves no record. Pickfetti picks from the comments and publishes a checkable proof page.

FAQ

Can I send Instagram comments straight to Google Sheets?

IGComments gives you a file rather than a live connection: download the XLSX or CSV and import it with File, Import, Upload. It takes under a minute.

Should I use the CSV or Excel file for Google Sheets?

The Excel (XLSX) file is safest because it stores the long comment and user IDs as text, so Sheets can’t round them. CSV is fine if you don’t need the IDs.

Why are the IDs in my sheet ending in zeros?

Sheets converted them to numbers and rounded them past 15 digits. Import the XLSX file instead, or import the CSV with Convert text to numbers, dates, and formulas turned off.

How do I count unique commenters in Google Sheets?

Use =COUNTUNIQUE(C2:C), where column C holds usernames. =UNIQUE(C2:C) lists them.

How do I find comments containing any of several keywords?

Use REGEXMATCH with the words separated by a vertical bar, for example =REGEXMATCH(LOWER(E2), "price|cost|how much"), then filter to TRUE.