NOTE: the script is not functional at the moment (due to facebook API changes). I will remove this note once I make a new working version.
Update Sep 2014:
I've created a new version of the script which works on recent Facebook. Apparently facebook allows you to easily remove single friends nowadays; so the script is extra useful for deleting bulk friends or inactive friends.
To use the new script you don't even need GreaseMonkey or TamperMonkey. Just follow these simple steps:
- Go here, select and copy the entire script (into the clipboard)
- Go to your facebook friends page using Google Chrome (or Firefox) at facebook.com/friends
- Paste the entire script here, and press enter
- You will see a help message started with **** FBDX *****
- Follow the instructions of the tool to do whatever you please! (type FBDX.help(); at any time in the console to see help again)
I have Googled around on how to mass remove facebook friends from time to time. Unfortunately facebook does not allow that, because its bad for business; but many people are looking for a hack around. Back in the day, the mobile version had a much easier friend removal process, but they've made it similar to the desktop version and very boring.
The current method of removing a friend, involves either going to his/her profile or to your list of friends, hovering over friend-status button (first request), selecting unfriend (second request), confirming it (third request), approving the removal (forth request). Each of those asynchronous operations need to be done synchronously, because the confirmation dialogs take half of the page; so assuming each one takes half a second, it takes 3 seconds to remove a friend (on a delay-free connection).
Now what if you have 4000 friends (many of which are taking dust) and you want to remove around 3000 of them? Welcome to hell. If you take up the manual approach, you're bound to drop midway, because it takes more than 4 hours and drives you nuts.
There are scripts around that usually don't work, and are mostly non-user-friendly. I decided to filter my friend list today, and when I got to it, I realized it would be much better to spend those 4 hours creating something that others can use as well, instead of doing some repetitive work (which is literal hell for developers and hackers). So I made this script:
Update (May 2014) : userscripts is down (or dead?) so grab the script from here : script.js
Update (Sep 2014): there's a userscripts mirror site available, I've updated the link above to work.
After installing the script in your grease environment, and enabling it (you should disable it after you're done, as it messes with facebook dialogs), head to your friends edit page (https://facebook.com/friends/edit), and you should see Fast Remove buttons next to every active friend's picture. The edit friends page of facebook only displays a handfull of friends, but scrolling to the bottom adds another handfull to the page. You can put some adequately heavy object on your Page Down keyboard button, and leave it be until all friends are listed.
Now the first thing to do, is delete all your inactive friends (people who have disabled their facebook accounts). 90% of them never get back to facebook, and those who do, can go ahead and add you again. From the TamperMonkey (or equivalent) menu, click on FacebookDeleteX - Remove Inactive submenu. A confirmation box will appear, saying how many inactive friends found, and if you're sure to delete them all. After clicking yes, all deletions are queued and another dialog gives you some information.
At this step, you should wait (or you can start doing the fast removal - next step). Because each removal requires 4 steps (requests to be made by the script), each one of them takes some time to accomplish. Closing the page will cancel them. If you're removing 1000 inactive friends, you should wait at least 1000x3 seconds (or an hour). You can always check your number of friends before starting this, and check it again in another window and see when it reaches the desired amount (total_number - inactive_number), then close this window.
The final step, is manual fast-removal of your friends. In this step, you have to click on each Fast Remove button, next to people who you don't want anymore. Don't spend too much time deciding if something belongs or not, just press Fast Remove. Later you can add them again easily.
Every time you press Fast Remove, it takes a second or so for the requests to be handled and for the button to disappear (if you've a lot of requests queued from previous step, it can take a lot. Just click them once and proceed to the next one, or open another window and do this there) . Right after that, a dialog box pops up informing you that the friend was removed. This script will automatically close these dialogs once every second.
If anything seemed not to work with the script, don't hesitate to contact me for a fix. Happy facebooking.
P.S this script takes 60% CPU on a MacBook Pro Retina (which is equivalent of 4 regular PCs).
Update (May 2014): A lot has changed on facebook since I created this. If anything is not working, please comment here and I'll fix it!