This program can be used to clean up a Facebook account without deleting the entire account.
Warning: Facebook has some measures in place to prevent high-frequency activity such as the one this tool provides. The current rate limit value has currently been set to 100 ms to avoid detection, but the delay might not be enough and this could still result in your activity log getting temporarily blocked. Please check out the Rate-limiting section if you want to increase/decrease this delay.
Note: Facebook has a very strange login process. Please open a GitHub issue if the program is not able to login. Here's a workaround for the login process which you can also use if your account has two-factor authentication enabled.
Binaries for Linux, macOS and Windows are attached to a release.
Download the binary file for your platform of the latest release.
Linux/macOS: Make the binary executable and run it. Example:
chmod +x deleter-linux
./deleter-linux
Windows: Run the .exe file and select "More information" and "Run anyway".
A recent Go version needs to be installed. This can be done via your package manager or the golang website.
git clone https://github.com/marcelja/facebook-delete.git
cd facebook-delete
go install
go run deleter.go
Cookies are saved to $HOME/.go-cookies
if the $GOCOOKIES
variable is not set (see https://github.com/juju/persistent-cookiejar).
Facebook will temp-block your activity log if you make too many requests too quickly. Run the command with the -rateLimit <time in ms>
to introduce a custom delay before each request. If you're getting hung up on just searches or deletes, you can disable rate-limiting for one or the other with -limitSearch=0
or -limitDelete=0
.
Usage examples:
./deleter-linux -rateLimit 500 # Add a 500 ms delay
./deleter-linux -rateLimit 500 -limitSearch=0 # Add a 500 ms delay, but not to search action
./deleter-linux -rateLimit 500 -limitDelete=0 # Add a 500 ms delay, but not to deletion action
If you want to skip the manual terminal selection, feel free to use the following flags:
Flag | Type | Description | Example |
---|---|---|---|
-customYears | string |
Comma-separated years (YYYY) to select. Use all to select all years. |
-customYears="2006,2009,2020" or -customYears="all" |
-customMonths | string |
Comma-separated months to select. Use all to select all months. |
-customMonths="1,2,12 or -customMonths="01,02,12" |
-selectAllContent | bool |
If set to true it will select all content without asking questions. |
-selectAllContent=true |
Note: if invalid arguments are passed to the flags, a warning will appear and you will be asked to perform a manual selection.