Twitter/X Bulk Delete Old Tweets
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This userscript helps you clean up your Twitter/X timeline by bulk-deleting old tweets based on age. It scans Twitter/X profile pages for tweets and their timestamps, displays a list of tweets with checkboxes, and allows you to select multiple tweets to delete if they are older than a threshold (e.g., 7, 14, 30, 60, or 90 days). It shows the tweet text, date, and engagement metrics (likes and retweets), filters by age, and maintains a list of already deleted tweets to avoid duplicates. It exports the list of selected tweets and provides a confirmation step before taking action. The script simulates the delete action by generating a list of tweets to delete.
WHERE IT RUNS
The script works on Twitter/X profile pages where tweets are displayed. It runs entirely within your browser, reading only the visible content of the current page. It does not track your browsing history, access other tabs, or send any data externally. All tweet data and delete history are stored locally.
HOW TO USE
After installation, open the panel by clicking the tool's icon in the BotGentz sidebar. Select your age threshold (7, 14, 30, 60, or 90 days). Click "Scan for tweets" to extract tweets from the current page. The panel displays a list of tweets with checkboxes, showing the tweet text, date, age in days, likes, and retweets. Tweets older than the threshold are displayed. Select the tweets you want to delete—use "Select All" to choose all. Click "Delete Selected (Track)" to mark them as deleted and add them to your history. Click "Export Selected" to download a text file with the selected tweet information. Use "Clear History" to reset the delete history.
THE TECHNICAL MECHANISM
This script uses DOM traversal and text pattern matching to extract tweets from Twitter/X profile pages. It scans for tweet elements using selectors like [data-testid="tweet"], [data-testid="tweetText"], and article[role="article"]. For each tweet, it extracts the text from data-testid="tweetText" or paragraph elements, extracts the date from time elements or date patterns, and extracts likes and retweets from engagement elements using regex. The script calculates tweet age in days by comparing the tweet date to the current date. It filters tweets based on the age threshold and deduplicates by text and date. The script stores the delete history in GM_setValue so you don't see already-deleted tweets in future scans. All operations are client-side and do not send any data externally.
THE PANEL
The panel is draggable anywhere on the screen and remembers its position between sessions. It can be collapsed to a small floating bubble to minimize distraction, and expanded again with a single click. The panel's width can be adjusted, and pressing the Escape key closes it instantly. All settings—age threshold, delete history, and auto-scan preference—are persisted locally using GM_setValue, so your data remains intact across page reloads and browser restarts.
PLEASE NOTE
This userscript requires the free BotGentz extension to function. The script extracts tweets from page text—it may not capture all tweets correctly. The script helps you track which tweets you've deleted—it does not actually delete tweets from Twitter/X. The extraction relies on the current structure of Twitter/X—if the platform updates its UI, the script may need to be updated. The script does not access your Twitter/X account or API; it only reads what is visible on the page. No data from your browsing is stored or transmitted anywhere—all processing occurs entirely in your browser.