You can use this script to delete all your Tweets. Even if they don't show up on your profile. But you need your Data Export for it to work. Because this automates the deletion, it may get your account banned. Not a bad outcome.
English: youtube.com/watch?v=jB1-z6LbX5w
German: youtube.com/watch?v=HmQ7_ZgVNxg
- Request (takes several days) and download your Data Export and unzip it
- Log into your Twitter account
- Open the browser console (F12 or cmd+option+i)
- Paste the whole script into the console and press enter
- A light blue bar appears at the top of the window
- Use the file picker to select your tweet-headers.js or tweets.js file
- Wait for all your Tweets to vanish (about 5-10 Tweets per second)
If the process is interrupted at any time, you can use the advanced options to enter how many Tweets have been deleted in the previous run to not start at zero again. The script will try to automatically detect if it was run before by calcualting the difference between Tweets in the file and the Tweet count on the profile. If there is a difference it will try to automatically skip that amount (+5% buffer). If you want it to start from the beginning, open 'Advanced options' and enter 1 instead of 0. It will the skip exactly one Tweet and not try to calculate an amount.
Instead of copy-pasting the script, you can install it as a userscript: greasyfork.org/en/scripts/476062-tweetxer (works with eg. Violentmonkey, FireMonkey or tampermonkey browser addon)
The userscript works on smartphones as well.
- Install Firefox Mobile
- Install the Tampermonkey addon
- Install the script from greasyfork
- Open X com and the blue bar should show up. You may need to uninstall the X-App before.
- Install the safari extension Userscripts
- Enable userscripts in Safari
- Add the TweetXer userscript: New remote https://update.greasyfork.org/scripts/476062/TweetXer.user.js
- Visit X com
- Allow the extension Userscripts to access X com
Never use something like this from an untrusted source. The script intercepts requests from your browser to Twitter and replaces the Tweet-IDs with IDs from your tweets.js file. This allows it to access the old Tweets and delete them.
XHR interception inspired by github.com/ttodua/Tamper-Request-Javascript-Tool
Faster deletion inspired by github.com/Lyfhael/DeleteTweets
Because bookmarks aren't included in the Twitter data export, there is a button under "Advanced options" to export them.
If for some reason you can't use your data export or it missed some Tweets, you can use slow mode under "Advanced options". Be warned, it is very slow because it has to load the Tweets on your profile first to delete them and there are various request limits for that.
To delete DMs, you select the direct-message-header.js file instead of the tweet-headers.js file. Once it's done, reload the page, paste TweetXer into the console again and select the direct-message-group-headers.js file to remove message groups. If the process gets interrupted for whatever reason, you can enter how many messages where deleted before under "Advanced options" before selcting the file.
According to former engineers, DMs are removed from the server if all sides remove them from their inbox.
Under "Advanced options" you can automatically unfollow everyone. You may need to rerun with some time in between because of rate limits.
-
I can't paste the script.
Your browser tries to protect you from pasting some random script you found. Type "allow pasting" (Firefox) or "allow pasting" (Chrome) and hit enter to confirm that you know what you are doing.
-
X Corp doesn't send me my data export.
Try requesting it through their Privacy Form.
- Not all Tweets got removed.
Check if the ID of the remaining Tweet is in your data export. The script can only remove what's in the file. There is a option to automatically remove remaining Tweets under "Advanced options" but it is very slow. If there are many Tweets, re-run the script. Maybe request a new export.
- No Tweets are visible on the profile, but Tweet count shows there are still Tweets left.
In most cases those are Retweets from Tweets from accounts that got deactivated or banned. Sometimes the Tweets reappear once the accounts come back, sometimes they don't. There is nothing you can do.
- Likes aren't removed.
Only the last few hundred can be be removed. Even by hand. There is nothing you can do other than deleting your whole account. Or reliking Tweets to unlike them afterwards which will probably get your account locked for spamming.
-
Browser crashes
This happens more often with Chrome and Chrome-based browsers. Especially when removing more than 15 k Tweets. Closing the browser console while it runs seems to reduce the crashes.
-
It worked and you are thankful.
Awesome. Share the script on whatever platform you are using now to give others the option to delete their Tweets. Support me to keep creating things like this: buymeacoffee.com/lucahammer