Making likes private did not remove a single old NSFW like; it hid the list from other people while every like kept working as a signal on your account. To unlike NSFW tweets from years back, you need the archive, not a privacy toggle.
How do you unlike NSFW tweets in bulk on X?
Download your X archive, upload its like.js file and filter the full history down to adult posts by media, keyword, username and date. Circleboom then unlikes the matching posts on X in bulk through official X (Twitter) Enterprise APIs, while a Protect List keeps the likes you choose.
→ unlike NSFW tweets
What unliking a post changes on X, and what it leaves alone
Unliking removes your engagement signal from a post and lowers that post's like count by one. The post itself, its author and everyone else's likes, replies and reposts stay exactly as they were.
An unlike edits your account's record and the post's like count, and leaves the post itself in place.
That distinction answers the two fears people bring to this task.
You are not taking anything down from the author. And you are not flagging content to X, because reporting is a separate action from unliking.
How X itself labels and restricts adult material runs through its own system, described on X's page about sensitive media.
The signal is what changes
What the unlike does change is the signal. Likes act as account-level engagement data that shapes the For You feed, recommendations and the topics X associates with you. Remove the adult likes and those posts stop counting toward what the platform thinks you want.
The scale makes this worth doing properly. The analysis of the size of the NSFW community on Twitter gives a sense of how many adult accounts there are.
A few years of casual scrolling can leave hundreds of likes on their posts.
On X, those likes come off one post at a time, with no way to show only the adult ones. The archive route is the practical way to unlike adult posts on X without opening each one again.
Who can still see the NSFW posts you liked on X?
Other users can no longer browse your likes. X made likes private for everyone in mid-2024. You can still see the posts you liked, but other people cannot, as Engadget reported when X made likes mostly private.
There are three gaps in that privacy:
- Post authors can still see who liked their own posts, so the accounts you liked could see your like when you gave it.
- Anyone who gets access to your account, such as a new manager, an agency or a buyer, sees the full like history.
- X itself keeps using your likes as signals for recommendations and personalization.
The first gap is the one people forget. When you liked an adult post years ago, its author could see your name in the list of people who liked it, and that moment already happened.
Unliking now removes your name from the post's current likes and lowers its count, but it cannot reach back into what someone saw at the time.
Private likes are hidden likes. They are still on the account.
Locking the profile does not change that either. You can make your Twitter account private to limit who sees your posts, but your like history stays attached to the account and keeps feeding recommendations. Only removing the likes clears them.
Which Circleboom tool removes NSFW likes on X in bulk?
Circleboom's Delete All Likes is the tool that removes NSFW likes in bulk on X across your entire history. It reads the like.js file from your X archive, so it reaches likes far older than the 3,200 most recent ones that the X API exposes.
That reach is the deciding factor. Delete My Last Likes covers only that recent 3,200-like window, which suits a fresh mistake. An NSFW history built over years needs the archive, and Delete All Likes is built around it.
For the archive itself, the process to clear your Twitter history shows how the full-history archive route works.
The safety question matters because unliking is permanent. Circleboom is an official X Enterprise Developer, so the removals go through sanctioned access that respects X's rules and rate limits, rather than an unofficial workaround.
If you want the same treatment for what you posted yourself, you can clear Twitter history from the archive too. For likes, Circleboom's archive cleanup lets you remove sensitive likes from the full archive once your filters are set.
A Twitter archive erased in Circleboom, the same archive route your like.js file takes:
Why a filtered unlike on X beats a full likes wipe
A filtered run is the better default for NSFW likes because a like history usually holds more than the problem. Many people use likes as informal bookmarks for research, client posts, testimonials and partner content. A full wipe removes all of it along with the adult posts.
Delete All Likes can do either. Without filters, every like in the uploaded file is removed. With filters, only the matching subset is cleared, and anything on the Protect List or outside the criteria stays on the account.
A full reset still has its place. It fits when the whole history is misaligned with where the account is going, such as a complete rebrand or an account transfer, and when the problem likes are spread so widely that targeting them is impractical.
For most NSFW cleanups the adult likes are a slice, not the whole. Precision keeps the useful context and removes the risk.
A selective NSFW like removal is the safest way to unlike NSFW tweets without losing the likes that document your work.
Start narrow. A second, wider pass on the same like.js is always available; a removed like is not.
What each filter isolates in an NSFW likes cleanup on Twitter
You describe the adult slice with standard filters. They stack, and every one of them is optional.
The content filters decide what kind of post is selected:
- Media Type: only with media, or only without. Most adult likes carry images or clips, so this filter does the heavy lifting.
- Keyword / Username or Hashtag: searches post text, @mentions and #hashtags for the terms and handles you enter.
- Language: includes UND, short for undefined, which matches posts with no text at all.
The scope filters decide how much of the history is in play:
- Date range: a start and end date, both included, defaulting to your first and last like.
- Post type: Tweets, ReTweets and Replies, all checked by default.
- Like count and retweet count: min and max ranges, useful only as tie-breakers.
- Protect List: specific liked posts excluded from removal, whatever else matches.
The practical combination for most people is media plus keywords, with a date range when the problem likes cluster in certain years. Each of those over-catches something, which is why the Protect List carries as much weight as the filters.
If you cannot remember which hashtags those accounts used, start with the media filter alone and scroll the matches. Note the handles and tags that keep repeating. Those notes become the keyword list for a tighter pass.
How to unlike NSFW tweets on X in bulk
To unlike NSFW tweets on X in bulk, request your X archive, upload the like.js file to Circleboom's Delete All Likes, and filter the history by media, keywords and dates. Then protect the likes you want to keep, check the final count and confirm. The steps below run that in three phases.
Sign in and open the archive likes tool
- Open Circleboom Twitter Management and authorize the X account whose likes need cleaning, so the archive you upload matches it.

- Select the Essential Toolbox menu, then Delete Tools.

- Launch Delete All Likes to start its three-step wizard: START, UPLOAD and FILTER.
Upload like.js and isolate the sensitive slice
- Upload the like.js file from your archive's data folder, then check the total liked count it loads.
- Apply the media, keyword and date filters in Filter Options to narrow the list to adult posts. Set Media Type to only with media, enter your hashtags and @handles, and tighten the dates if you know the years.
- Add the exceptions to the Protect List, such as a partner's product demo or a customer post with images.
Approve and run the unlike
- Review the Approve & Delete count and scroll the filtered likes once more.
- Click Delete my Likes and keep the browser tab open until processing completes.
The order matters because each phase narrows what the next one can touch: the archive sets the full scope, the filters cut it to the adult slice, and the Protect List and count review catch mistakes before a permanent action.
The sequence in one line: archive, like.js, filters, Protect List, approve.
What remains on your X account after the unlike run
After the run, your account keeps every like that sat on the Protect List or fell outside your filters. Everything that matched is unliked at the X platform level, and the in-platform record of those likes is gone.
A few things are untouched by design:
- Your own posts: unliking does not delete or edit anything you published.
- The liked posts: they stay on X with one fewer like each.
- Your archive file: the like.js on your computer still lists the full history, and it is now the only record of it.
That last point is worth acting on. Keep the archive somewhere safe, because the removal is permanent and Circleboom has no undo for unliked posts.
The account's signals also change over time rather than at once. New likes start shaping recommendations again from a cleaner base.
Why some unliked NSFW posts still appear on your X likes
Some unliked posts can keep showing in your likes for a short while after a successful run. Circleboom's help center traces it to X's back end: data resynchronizes between server farms, so a removed like can linger on a server that has not updated yet.
Check your liked posts again a few days after the run. If adult posts are still there, the cause is usually one of two things:
- A sync delay: the like was removed, and X has not caught up everywhere yet.
- A filter gap: the post used no hashtag or keyword on your list, or came from an account you forgot.
Re-upload the same like.js to close a filter gap. Circleboom removes recently deleted items before applying filters and skips likes it already unliked, so the second pass shows only what is left. Try a broader combination this time, such as media plus a wider date range, and protect anything that should stay.
It also helps to recheck how the account behaves afterward. If new likes drift back toward the same kind of content, the old pattern starts rebuilding on a clean record.
Your Twitter sensitive likes cleanup checklist
Everything above fits into a short run you can start today:
- Request your X archive now, before you plan anything else.
- List the hashtags, words and @handles to target, plus the posts you will protect.
- Run one filtered pass, read the Approve & Delete count, then confirm.
- Recheck your likes a few days later and re-upload like.js for any gaps.
- Apply the same review to your own posts using what to delete and what to keep in your old tweets.
I would start with the archive request, because nothing else can begin until X delivers the file. The rest takes one focused session.
Done once, this cleanup rarely needs repeating at the same scale. Later slips fit a quick filtered pass or the free daily tool, and the archive route stays ready for the next time the account's audience changes.
→ Head to the archive and run a sensitive likes cleanup on X
Questions about a sensitive likes cleanup
How long does a sensitive likes cleanup take from start to finish?
Most of the wait sits with X: the archive can take 24 to 48 hours to generate after you request it. The unlike run is then paced by API rate limits, so large removals take time and the browser should stay open until Circleboom finishes.
Can I unlike NSFW tweets from my iPhone instead?
On the X app you can, but only one post at a time and with no filter for adult content. The page on deleting Twitter likes on an iPhone explains the phone route. Circleboom's free Unlike Your Likes tool also removes up to 50 likes per day.
Does Circleboom detect NSFW posts automatically?
No. Circleboom has no adult-content detector; you isolate the NSFW slice yourself with the media, keyword, username, hashtag and date filters. You can review every filtered like before confirming the run.
Is it safe to let a third-party tool unlike posts for me?
It is when the tool works through X's official API access and follows its rate limits, which is how Circleboom runs every unlike. What still needs your care is the selection, because removing likes is permanent and cannot be undone.