How to Delete All Your Tweets (2026 Guide to Wiping Your X History)
Why people delete their tweets
There are as many reasons to delete old tweets as there are people on X. Some of the most common: a career shift where old opinions now seem risky for a new job or inconsistent with how you present yourself now; the realisation that a decade of posts includes embarrassing teenage takes that don't represent who you are any more; privacy concerns about the sheer volume of personal information accumulated in years of casual posting; political or cultural shifts on the platform itself that make old content feel uncomfortable to leave public; or simply the desire for a clean slate without deleting the account entirely. Whatever the reason, the underlying question is practical: how do you actually delete thousands of tweets at once?
What 'deleting a tweet' actually does
Before going any further, it's worth being clear about what happens when you delete a tweet. Deletion removes the tweet from x.com. It stops appearing on your profile, in search results within X, and in embeds on other websites. What it doesn't do is remove every trace of the tweet from the internet. Archives run by third parties, like the Wayback Machine, may have snapshots. Screenshots taken by other users won't be affected. Google's cache may keep the tweet visible for a week or two after deletion. Platforms that republished your tweet won't remove their copies automatically.
For most people most of the time, this is fine. The goal is usually to clean up your profile so a casual viewer or recruiter can't scroll through your history, not to remove every conceivable trace of the content. If you need to erase content to a legal standard, deletion alone won't achieve it, and you'd need to consider additional steps like sending takedown requests to archive services.
Your options for deleting tweets at scale
There are four realistic approaches for deleting large numbers of tweets. They differ significantly in cost, speed, and how much of your history they can actually reach.
Option 1: Deleting tweets manually
You can delete any tweet individually by opening it on x.com, clicking the three dots in the tweet's corner, and selecting Delete. This works perfectly but scales badly. At a realistic rate of around ten seconds per tweet, deleting 5,000 tweets would take roughly 14 hours of continuous clicking. For more than a few dozen tweets, manual deletion isn't a serious option.
Option 2: Using X's native account tools
X doesn't offer a native bulk delete feature. The option closest to bulk deletion is deactivating your entire account, which hides all tweets and then permanently deletes everything after 30 days. This works if you're willing to abandon the account, username, and follower count. For anyone who wants to keep their account but wipe the content, this isn't the answer.
Option 3: SaaS subscription services
Services like TweetDeleter, Circleboom, and Redact offer monthly subscriptions for bulk tweet deletion. Typical pricing in 2026 ranges from $10 to $30 a month. These tools have polished interfaces, support scheduling, and can automatically delete new tweets as you post them. They have one significant limitation, though: because they use the X API, they can only reach your most recent 3,200 tweets. For users with under 3,200 total tweets, this isn't an issue. For users with more than that, the older tweets, often the ones most worth deleting, remain untouched.
Option 4: Using your tweet archive
The fourth approach uses the tweet archive X provides to every user on request. The archive contains every tweet you've ever posted. There's no cap at 3,200 like there is with the API. A tool that reads this archive file lets you filter down to what you want to delete, and uses your existing browser session on x.com to delete each tweet. Because this approach uses your session rather than the API, it has no tweet limit, and requires no developer account or subscription. XeetDelete is one such tool.
Which approach should you choose?
If you have fewer than 3,200 tweets and want ongoing, automated tweet management (for example, deleting tweets older than 30 days, forever), a SaaS subscription is a reasonable choice. If you have more than 3,200 tweets, or you want a single clean sweep without a subscription, using your archive is the only realistic option. The archive approach is also usually faster for large histories because there's no API throttling beyond what X's own interface imposes.
The rest of this guide walks through using your archive, which is the option most users reach for.
Step 1: Request your tweet archive from X
Log into x.com on a desktop browser. Go to Settings → Your Account → Download an archive of your data. Click Request archive and confirm your identity when prompted. X prepares the archive over the next 24 hours, occasionally longer for older accounts with lots of media. When it's ready, you'll get an email with a download link.
The archive is a large ZIP file. Extract it on your computer. Inside, you'll find a folder called data containing a file called tweets.js. That's the file you need. Very large archives split it into tweets-part1.js, tweets-part2.js, and so on — in that case you'll need all of the part files.
Step 2: Open a deletion tool and upload your archive
Open XeetDelete by double clicking the HTML file. No installation or account is needed. Upload your tweets.js file using the upload button — if your archive has multiple part files, select them all at once and they're merged and deduplicated automatically. The tool reads the files entirely in your browser and doesn't transmit them to any server. You'll see a dashboard with your total tweet count, a timeline, and a set of filter controls.
Step 3: Filter down to what you want to delete
This is where using your archive really shines. You can filter by date range (for example, only tweets before January 2018), by tweet type (originals, retweets, replies, or tweets with media), by engagement (a useful safety net that lets you protect tweets that got more than, say, 100 likes), and by keywords (include or exclude specific words or phrases). All filters update the visible tweet list in real time.
A common strategy: delete everything before a certain year, while protecting anything that got significant engagement. This sweeps out old low quality posts while preserving the handful that actually resonated. Take your time with this step, because deleted tweets cannot be recovered.
Step 4: Generate and run the deletion script
Once your filter is final, the deletion script is generated automatically from your selection — click 'Copy Script' in XeetDelete to put it on your clipboard. If you're deleting more than 100 tweets, XeetDelete asks you to type the exact tweet count first to unlock the copy button, a deliberate guard against accidental mass deletion.
Step 5: Let it run
Deleting a large number of tweets takes time. The script automatically pauses for 60 seconds if X rate limits your requests, then resumes. You can leave the tab open and come back later. The console logs the progress of each deletion so you can see what's happening. Interrupting the process (closing the tab, for example) is safe, because the tweets that have been deleted stay deleted, and you can regenerate the script later if you want to continue.
What about replies, likes, media, and DMs?
Using your archive deletes tweets: posts, retweets, and replies. It doesn't touch likes (which X stores separately in a different archive file) or direct messages (which have to be managed through x.com's own interface). To delete media, you delete the tweets the media was attached to, and the media is removed with them. If you also want to unlike everything, that's a separate task requiring a different tool, since the structure of the likes archive is different.
Common pitfalls and how to avoid them
The first pitfall, mentioned above, is pasting the deletion script into the wrong console. If the script seems to do nothing, or throws an error about undefined functions, you're probably in XeetDelete's console rather than x.com's. Check the URL of the tab you're in: it should show x.com (or twitter.com on older browsers).
The second pitfall is running deletion on an account where you've been logged out or where your session has expired. If the script starts returning 401 errors, refresh x.com, log in again, and run the script again. It picks up where it left off.
The third pitfall is forgetting to use filters. Running the script without filtering will delete every tweet in your archive. If that's what you want, fine. But if you want to preserve any tweets at all, spend time on the filter step before generating the script.
Getting started
XeetDelete is a pay what you want download on Gumroad, from $12 (suggested price $19). It's a single HTML file, works on any modern desktop browser, requires no account or subscription, and handles tweet archives of any size. Full guides for each part of the process are linked below.