Introduction
I recently decided to quit Twitter / X (hereon referred to as “Twitter”) for good, but I wanted to go about this in a particular way - you see, I had quite a large following on there and I know that spammers / scammers would probably jump on my handle if I just deleted my account. So the goal was to strip it to a bare placeholder with links to my other socials and then log out for good.
Here’s what my account looks like after expunging 5 years’ worth of history using the methods below.
Note that the methods that I used are free, but involve installing Python and running some scripts from a command line. If you’re not comfortable with this you can just request your data export (step 1) and then use a paid service. I have no experience with any of them so I can’t vouch for any here, but TweetDelete seems to be widely recommended. No, I don’t have any connection / affiliation with them and they are not paying me to link them here.
You will need to sign up and pay for at least a month to use their service - I’m a cheapskate who’s comfortable with Python, so the process I followed is documented below.
NOTE that Twitter has a policy of deleting inactive accounts, so if you really need to hang on to your name, you’ll still need to log in periodically.
Finally, there are definitely other methods of doing this - probably better ones - I’m just documenting this here because a few people have asked.
Steps
1. Twitter Data Archive Export
First, you will require the export of your Twitter data archive. The reason for this is because the scripts used here need the IDs of your tweets and likes from this file to be able to work. Note that the various online paid services mentioned above also use this same data export, so you’ll need it either way. It also serves as a nice backup, I suppose.
N.B. You will have to keep checking Twitter itself for a notification after requesting the archive - you won’t be notified by email or otherwise. It usually takes a day or so to generate.
2. Delete Tweets (Including Retweets, Quote Tweets, Replies etc.)
I used this Python script. You will need tweets.js from the above archive, and a copy and paste of your headers from your web browser so that the script can impersonate you (there are full instructions on the linked page). I am a developer in my day job and work with Python, so at the time of writing I did check it over and it’s a very basic script that doesn’t do anything nefarious - but bear in mind that giving anything access to these headers will give it full access to your Twitter account.
I also already had the required environment set up to run Python scripts, but if you’re new to Python you’ll need to install Python 3.
For this and the following tool, you will either need to download the raw de-x.py file, copy and paste it into a new text file, or clone the whole repository. Again, instructions are on the linked page above.
3. Delete Likes
Someone submitted an issue on the above script requesting the addition of a “delete likes” feature. While the original author hasn’t added this at the time of writing, someone has created a modified version that deletes likes. The raw script file is linked here.
Note that you will need to run both scripts, and for this one you’ll need like.js from your data archive. The process is exactly the same as step 2.
It’s probably worth mentioning that likes are no longer public, so you might want to skip this step. Personally I just wanted everything nuked from orbit so I ran it anyway. Also note that unliking is rate limited - which is built into the script - so it will take quite a long time to run if you’ve liked a lot of stuff over the years.
4. Unfollow Everyone
Personal preference, but I also decided to unfollow everyone that I was previously following. If nothing else, this is a pretty obvious sign to potential followers that my account isn’t actually active.
It turns out that there are browser plugins that do this - here is the one that I used for Chrome. I had thousands of follows so it took multiple runs with multiple page refreshes, but did get there in the end.
If you liked this post please consider following me on Instagram or BlueSky!