How to Use Your Twitter Archive to Delete Old Tweets (2026)
Published April 16, 2026 · 7 min read · By X Cleaner Team
To use your Twitter archive to delete old tweets, first request the ZIP from x.com Settings, wait 24 hours, then import it into X Cleaner Pro — the extension reads every tweet ID from the archive (including tweets older than X's 3,200-item API limit) and deletes them at up to 3,200 per hour, 100% locally, never uploading your data. The native X archive only downloads your history — it does not delete a thing. This guide walks through the complete workflow and explains why archive import is the only way to reach tweets from your first years on Twitter.
What is the Twitter archive?
The Twitter (now X) data archive is a ZIP file containing every single tweet you ever posted since you created your account, along with likes, DMs, media, followers, blocks and more. X built it to comply with GDPR and CCPA data-portability laws — you have the right to a copy of your data.
Critically, the archive is the only way to access tweets older than the ~3,200 most recent. X's public timeline API caps profile scans at 3,200 tweets, so every deletion tool hits the same wall. If you want to delete posts from 2012, 2015 or even 2020 on an active account, you need the archive.
How to request your X archive (4 steps)
- Open Settings. On x.com, click More » Settings and privacy » Your account.
- Download an archive of your data. Click this option. X will ask you to confirm your password and send a verification code to your email or phone.
- Click Request archive. X queues your request. It takes 24 hours on average, sometimes up to 48 hours for large accounts.
- Download. X sends a notification and email when ready. Click Download archive. Expect a ZIP of 50 MB (small accounts) to several gigabytes (heavy posters or decade-old accounts).
Tip: start the request before you read the rest of this article. By the time you finish the rest of the workflow tomorrow, your archive will be ready.
What’s inside the ZIP
Unzip the archive and you will find a structured folder tree. The files that matter for deletion:
data/tweets.js— every tweet you ever posted as a JSON array. Includes tweet ID, text, timestamp, media, retweet status.data/likes.js— every post you ever liked, with tweet IDs. Critical if you also plan to bulk unlike everything.data/direct-messages.js— all DM conversations. Useful if you want to wipe DMs.data/tweet-headers.js— lightweight index (ID + timestamp).data/tweet_media/andprofile_media/folders — every image and video you uploaded.data/account.js,block.js,mute.js,follower.js,following.js— account metadata.
For reference, a typical 10,000-tweet account archive is ~200 MB and contains around 30,000 files once unzipped.
Why the native archive doesn’t delete — only downloads
This is the confusion that fills our support inbox. People request the archive expecting a "Delete all" button inside. It does not exist. The archive is a read-only snapshot:
- You can open
tweets.jsin a text editor and browse your history. - You can build a personal search tool over it.
- You can grep for old usernames or keywords.
- You cannot delete anything from within the archive itself.
Deletion requires calling X's API for each tweet ID: DELETE /2/tweets/{id}. Writing that script yourself means handling OAuth, rate limits (~300 writes per 15 minutes), retries, logging, whitelisting. It is 4–6 hours of dev time for a one-off. This is exactly what X Cleaner's archive import automates — drop the ZIP in, click delete, done.
How X Cleaner imports the archive and deletes at scale
Three-step import flow inside the extension:
- Open Archive Import. Install X Cleaner Pro, open the extension popup on x.com, click Archive Import.
- Drop the ZIP. Drag your downloaded ZIP into the import zone. The extension parses
tweets.js,likes.jsand related files directly in your browser. Processing happens locally — see the privacy section below. - Filter, select, delete. Once parsed, every tweet appears in a filterable list. Apply date range ("before 2018"), keyword ("crypto"), engagement ("less than 10 likes"), media type. Click Select All, then Delete. X Cleaner fires deletion API calls at roughly 3,200 per hour, well under X's rate ceiling.
Performance benchmark from our public stats page: archive-import sessions average 3,421 deletions per session — the largest session type, because users finally touch tweets that were previously unreachable.
Privacy note: the archive stays local, never uploaded
We built archive import specifically to avoid the privacy disaster of uploading your entire Twitter history to a third-party server. Here is how X Cleaner handles it:
- The ZIP is parsed in the browser using JavaScript inside the Chrome extension sandbox.
- Tweet IDs, text and metadata stay in browser memory for the duration of the session.
- The only outbound traffic is the deletion API calls to api.x.com — the same endpoints X.com itself uses.
- No data is sent to x-cleaner.app servers. You can verify this by inspecting the network tab or disabling network for the extension during import.
- When you close the browser, in-memory parse results are wiped. Nothing persists.
For users who still prefer a fully offline workflow, X Cleaner Pro can also export parsed archive data to CSV/JSON locally before deletion — giving you a clean backup file without ever touching cloud storage.
Limits and edge cases
- Archive freshness. The ZIP is a snapshot from the moment X generated it. Tweets posted between the request and the import will appear in the standard timeline scan, not the archive.
- Already-deleted tweets. If a tweet was deleted previously (by you or by X for policy violations), attempting to delete it via archive import returns a 404. X Cleaner skips these silently.
- Suspended/deleted target accounts. If a like was placed on a post whose author is suspended, the tweet may be inaccessible — you cannot unlike what no longer exists.
- Rate limits. The 3,200/hour ceiling is soft; X occasionally pushes back on very active accounts. X Cleaner auto-pauses and resumes.
FAQ
Can I just unzip the archive and use a script?
Yes, if you can code. You'll parse tweets.js, authenticate OAuth, handle rate limits and retries. Most users prefer a pre-built tool. X Cleaner does exactly this, maintained and tested against X API changes.
Does importing the archive use any of my daily free quota?
Importing and browsing is free and unlimited. Only the delete action counts toward the 10-per-day free limit. Archive import is a Pro feature; upgrade unlocks unlimited deletions plus the importer.
What if my archive is 10 GB?
X Cleaner streams the ZIP and processes files one at a time, so memory stays flat. A 10 GB archive (very rare) takes ~5 minutes to parse on modern hardware.
Can I use the archive to delete DMs?
The archive includes direct-messages.js. X Cleaner Pro can delete DMs individually or in bulk from within the native X interface. DM deletion from archive import is rolling out in a future update.
If I request a new archive after deleting, will it still show old tweets?
No. A fresh archive regenerates from current account state. Deleted tweets disappear from subsequent archives.
Is my archive viewable to anyone else?
Only you receive the download link, tied to your X account login. Third parties cannot request your archive.
Request your archive. Import it. Start clean.
Archive import is the only path to deleting tweets older than 3,200. Request the ZIP today, install X Cleaner Pro, drop it in tomorrow, watch a decade of forgotten posts disappear. For broader context on cleanup strategy, see how to delete all tweets at once and how to delete old tweets by date.