Deleting every photo and video from an X account sounds like it should be one setting. It is not. X gives you no bulk media control and no way to separate an image from the tweet it went out with, so the job stalls the moment you try to do it by hand.
How do you delete all your photos and videos on X at once?
You run a Twitter media deleter that filters your tweet history down to media posts and removes them in bulk. Circleboom does this from your X archive, so it reaches photos and videos far older than the recent API window and clears them in one reviewed pass.
→ Twitter media deleter
This guide walks the full process, from why media deletion works the way it does to the exact steps that clear it safely.
Why media deletion means deleting tweets
A photo or video on X is bound to its parent tweet. You cannot pull the media off and keep the caption, because the app treats the post and its attachment as one object. That is the single reason "delete all my pictures" has no button.
So when you set out to delete your Twitter photos and videos, the real task is finding every tweet that carries media and removing that set. A media deleter does the finding for you: you ask for posts with media, and it returns and clears exactly those, leaving your text-only tweets alone.
This also explains why the media tools sit alongside the tweet-deletion tools rather than in a gallery. Media, likes on that media, and the tweet itself all go together, which is why the same filter that clears images can also target other post types.
What the filter counts as media
Before you run anything, it helps to know what "media" actually captures, because it is wider than the photos you deliberately uploaded. The filter marks a post as media whenever it carries a visual file:
- Photos and videos you posted directly to your timeline.
- GIFs, stored on X as short video clips rather than static images.
- Replies and quote posts where you attached your own image.
The distinction that trips people up is ownership. A plain retweet of another account's photo is not counted as your media, because you never attached the file. Only posts where the visual originated from you fall inside the filter.
This is usually the exact line users want. The goal is to clear your own visual history without disturbing the reshares and text replies around it. Knowing the boundary upfront also helps you predict the delete count, so the number in the Approve panel matches what you expected rather than surprising you.
What you need before you start
Two things make the difference between a partial cleanup and a complete one.
- Your X archive. The live API only exposes your 3,200 most recent posts, so old media stays out of reach without the archive file.
- A clear scope. Decide whether you want every media post gone or only a slice, since the filters let you narrow by date, keyword, or engagement.
Doing this manually is the trap. X has no multi-select, so clearing a few hundred image posts by hand runs into an entire evening of clicking, and the oldest photos stay stuck behind the API wall the whole time. A Twitter media deleter collapses that into one filtered batch.
Why the archive is the part that matters
The single detail that decides whether your cleanup is complete is the archive. X's API only exposes the 3,200 most recent posts to any tool. For an account with years of history, that leaves the bulk of its old media invisible, and the oldest photos are frequently the ones people most want gone.
The archive file is how you get past that ceiling. When you request your data, X generates a full export of everything you have posted, and inside it sits a single file called tweet.js that holds your complete post record. Uploading that one file, not the entire zip, is what gives the deleter access to your whole history rather than a recent slice.
Two rules govern the upload:
- Use tweet.js only, not the full archive folder, or the tool has nothing to read.
- Use the archive from the linked account, since a file from a different login will not process.
Get those right and the media filter can reach every image and video you have ever posted, no matter how old. Skip the archive and you are back to a surface pass that clears the recent window and quietly leaves the rest online.
How to delete all photos and videos on Twitter step by step
The workflow runs in three stages: connect your account, load your archive and filter to media, then review and confirm. The steps below follow that order exactly, and each one starts with the action you take.
Connect your account
- Log in to Circleboom Twitter Management and authorize your X account through official OAuth, which keeps your password on X's side.

- Open the Essential Toolbox and select the Delete tools, where the archive-based cleanup lives.

Load your archive and filter to media
- Request your data archive from X, then wait for the download link. You can download an archive of your X data from X's own settings, and it typically arrives within 24 to 48 hours.
- Upload the tweet.js file from the archive folder so Circleboom can read your full post history and show the total count.
- Set the Media filter to "only tweets with media attached," narrowing the list to your photos, videos, and GIFs.
Review and confirm
- Add any keepers to the Protect List so the posts you want to save are excluded from the delete.
- Check the Approve and Delete panel, confirm the exact count, and run the batch.
That order holds up because each stage removes a specific risk. The login earns official access, the archive extends your reach past the API limit, the filter scopes the delete to media only, and the approval count is your last checkpoint before a permanent action. Remove any stage and the run either misses old media or deletes more than you meant to.
Short demo: clearing a large batch of posts in one click, the same mechanism the media filter uses.
How to scope the cleanup instead of clearing everything
Not every media purge should be total. The filters stack, so you can clear all your media in bulk or target a precise slice.
- By date: clear image posts from a specific stretch while keeping recent ones.
- By keyword: combine the media filter with a term to delete tweets by keyword that carry photos.
- By type: clear only media posts and leave your text tweets, or flip it to delete all text tweets instead.
Because the run reads your archive, it reaches the full history rather than a recent window. That is what separates a real cleanup from a surface pass. Circleboom is one of the companies on X's official Enterprise developers list, so the bulk delete stays compliant and your account is never exposed to a scraper.
If your goal is a full reset, the same tool handles it. Many people run the media filter first, then delete all tweets on X to finish the job in a second pass.
For accounts that want to stay clean on their own, a recurring rule can auto-delete all tweets past a certain age. Old media then never piles back up.
Applying different filters in separate runs
You do not have to decide everything in one batch. Because the workflow reads a saved archive file, you can upload the same tweet.js again and apply a fresh filter on each pass. Circleboom drops already-deleted posts from the file before processing the next run, so nothing is handled twice.
That makes a staged approach practical. A cautious cleanup might work like this:
- Run one: clear only videos, review the count, confirm.
- Run two: re-upload and clear photos from a specific year.
- Run three: re-upload and sweep the remaining GIFs.
Each pass reviews its own Approve count, so you never commit to a single massive delete you cannot inspect first. This is the safer way to handle a large history, because you see exactly what each filter selects before it fires, and you can stop after any run if the result already matches what you wanted.
The staged approach is simply another way to delete tweets in bulk while keeping full control over every pass rather than committing to one irreversible sweep.
What to expect after the run
Your profile stays live and your audience stays put. Only the media posts inside your filter disappear from the public timeline, which keeps the account continuity intact while removing the visual clutter.
Deletion is permanent, so the archive you downloaded is now your backup and the only record of those posts. Save it before you confirm anything, because there is no recovery path on X's side once a post is gone.
One boundary to expect: if another account retweeted or quoted your media, their post still references it after yours is deleted. That is their content, outside your reach, and it is a normal limit rather than a failed cleanup.
A large run also takes time to finish. X applies rate limits while the batch works through your posts, so a history with thousands of images processes in the background rather than in a single instant.
Keep the browser tab open until it completes, and the tool paces its requests within those limits so nothing gets dropped or throttled. For most accounts this is a matter of minutes. A very large media history can run longer, though, which is worth knowing before you start so you do not close the tab halfway through and interrupt the batch.
This walkthrough shows the whole flow, covering how to delete all tweets instantly, step by step from the same panel. The broader Delete All Tweets tool is where every one of these filters lives.
Your cleanup checklist
Before you run it, walk this short list:
- Download and save your X archive so you have the only surviving copy.
- Set the Media filter to media-only, then add any date or keyword narrowing you want.
- Protect your keepers so milestone posts survive the batch.
- Confirm the Approve and Delete count, then run it.
Work that list and the process is straightforward, and reversible in scope even if the deletions themselves are not. Each filter shows its count before it runs, so you always confirm the exact set first. When you are ready, you can open the filter and delete all photos and videos from your account in one pass.
What to know before you delete your media
Can I delete photos and videos without deleting my text tweets?
Yes. The Media filter targets only posts with an attachment, so your text-only tweets stay in place while every photo, video, and GIF is cleared.
Why do I need to upload an archive?
Because X's API only exposes your 3,200 most recent posts. The archive contains your complete history, which lets the media deleter reach and clear older photos and videos the API alone cannot touch.
How long does the whole process take?
The archive request is the slow part, usually 24 to 48 hours. Once you upload the tweet.js file, filtering and running the delete takes minutes, and large batches process while you leave the browser open.
Is it safe to delete media in bulk with a third-party tool?
It is safe when the tool uses official access. Circleboom acts through sanctioned X APIs rather than scraping, so a bulk media delete does not risk your account, and you always approve the count first.
Can I recover deleted media later?
No. Deletion is permanent on X, and only the archive file you saved beforehand holds a copy, so back it up before you confirm the batch.