Skip to content

ann0nip/RemoveInstagramUnfollowers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Instagram Unfollowers Remover

A tool to identify and unfollow Instagram users who don't follow you back. Originally a pair of JavaScript scripts, now enhanced with a user-friendly Chrome extension for easier and safer use.

🚀 Important Update (July 2025)

Hey everyone!

Two years ago, I created these scripts, and they've helped a lot of people clean up their Instagram follows. Based on your feedback, I spent a week building a Chrome extension to simplify the process—no more manual console tinkering!

Key changes:

Removed batch unfollow: Instagram detects and blocks automated bulk actions, so I had to drop this to avoid account risks. Added progress saving: You can now download a file to track your unfollow progress and resume later. Give the extension a try—it's free and straightforward. If you find it helpful, please leave a review on the Chrome Web Store!

https://chromewebstore.google.com/detail/bepipmjodhjmmdhlahhpalbepooemcii?utm_source=item-share-cb

Legacy Scripts (For Advanced Users)

If you prefer the original scripts (e.g., for non-Chrome browsers), follow the steps below. Note: These call Instagram's API directly for speed, which increases the risk of detection. Use with caution—the extension is recommended for most users.

⚠️ Warnings

Steps:

  1. Login into your IG account and open the developer console tool => (Ctrl+Shift+J(Windows) || ⌘+⌥+I (Mac os)).

  2. Copy the code and paste into the console:

function getCookie(b){let c=`; ${document.cookie}`,a=c.split(`; ${b}=`);if(2===a.length)return a.pop().split(";").shift()}function sleep(a){return new Promise(b=>{setTimeout(b,a)})}function afterUrlGenerator(a){return`https://www.instagram.com/graphql/query/?query_hash=3dec7e2c57367ef3da3d987d89f9dbc8&variables={"id":"${ds_user_id}","include_reel":"true","fetch_mutual":"false","first":"24","after":"${a}"}`}function unfollowUserUrlGenerator(a){return`https://www.instagram.com/web/friendships/${a}/unfollow/`}let followedPeople,csrftoken=getCookie("csrftoken"),ds_user_id=getCookie("ds_user_id"),initialURL=`https://www.instagram.com/graphql/query/?query_hash=3dec7e2c57367ef3da3d987d89f9dbc8&variables={"id":"${ds_user_id}","include_reel":"true","fetch_mutual":"false","first":"24"}`,doNext=!0,filteredList=[],getUnfollowCounter=0,scrollCicle=0;async function startScript(){for(var c,d,e,b,f,g=Math.floor;doNext;){let a;try{a=await fetch(initialURL).then(a=>a.json())}catch(h){continue}followedPeople||(followedPeople=a.data.user.edge_follow.count),doNext=a.data.user.edge_follow.page_info.has_next_page,initialURL=afterUrlGenerator(a.data.user.edge_follow.page_info.end_cursor),getUnfollowCounter+=a.data.user.edge_follow.edges.length,a.data.user.edge_follow.edges.forEach(a=>{a.node.follows_viewer||filteredList.push(a.node)}),console.clear(),console.log(`%c Progress ${getUnfollowCounter}/${followedPeople} (${parseInt(100*(getUnfollowCounter/followedPeople))}%)`,"background: #222; color: #bada55;font-size: 35px;"),console.log("%c This users don't follow you (Still in progress)","background: #222; color: #FC4119;font-size: 13px;"),filteredList.forEach(a=>{console.log(a.username)}),await sleep(g(400*Math.random())+1e3),scrollCicle++,6<scrollCicle&&(scrollCicle=0,console.log("%c Sleeping 10 secs to prevent getting temp blocked","background: #222; color: ##FF0000;font-size: 35px;"),await sleep(1e4))}c=JSON.stringify(filteredList),d="usersNotFollowingBack.json",e="application/json",b=document.createElement("a"),f=new Blob([c],{type:e}),b.href=URL.createObjectURL(f),b.download=d,b.click(),console.log("%c All DONE!","background: #222; color: #bada55;font-size: 25px;")}startScript()
  1. It will start checking your followers and print it on the console that ones who are not following you back.

  2. Once it finishes printing the users, it will create and download a JSON file with all the users who are not following you back. The more users you have to check, more time it will take

  3. I developed a GUI tool where you can upload the JSON file and select what users you want to keep.

  4. Refresh the IG website. (to remove all traces of the last script)

  5. Open the developer console tool again and create a variable named listOfUsers like this:

const listOfUsers = //PASTE HERE THE LIST OF USERS FROM YOUR CLIPBOARD, RESULTS FROM GUI TOOL
  1. The last step is copy and paste the code below the variable listOfUsers:
function getCookie(b){let c=`; ${document.cookie}`,a=c.split(`; ${b}=`);if(2===a.length)return a.pop().split(";").shift()}function sleep(a){return new Promise(b=>{setTimeout(b,a)})}function unfollowUserUrlGenerator(a){return`https://www.instagram.com/web/friendships/${a}/unfollow/`}const csrftoken=getCookie("csrftoken"),startUnfollow=async()=>{let c=Math.floor,a=0,b=0;for(let d of listOfUsers){try{await fetch(unfollowUserUrlGenerator(d.id),{headers:{"content-type":"application/x-www-form-urlencoded","x-csrftoken":csrftoken},method:"POST",mode:"cors",credentials:"include"})}catch(e){console.log(e)}await sleep(c(2e3*Math.random())+4e3),a++,5<= ++b&&(console.log("%c Sleeping 5 minutes to prevent getting temp blocked","background: #222; color: ##FF0000;font-size: 35px;"),b=0,await sleep(3e5)),console.log(`Unfollowed ${a}/${listOfUsers.length}`)}console.log("%c All DONE!","background: #222; color: #bada55;font-size: 25px;")};startUnfollow()

Now, this will start unfollowing the users that you selected.

This script has been tested on Chrome and Safari - It was made in one night probably exists some bugs. Feel free to report or create pull requests

Legal

Disclaimer: This is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Instagram.

Use it at your own risk!.

Notes

Part of the script was taken from the repo of @davidarroyo1234

About

Two scripts for unfollowing Instagram users who don’t follow you back.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published