You want every tweet where you swore gone, and you do not want to reread years of your own posts to find them. Every word filter X offers points at other people's posts, so the job needs a filter that works on your own history instead.
Three things you leave this page with.A clear map of which X filter acts on whose words.A keyword run that deletes swear words from your tweets, replies and retweets.A plan for @mentions, hashtags and words in a second language.
Circleboom deletes your own tweets on X that contain the words you choose, across your full archive, through X's official Enterprise APIs. Set up a Twitter profanity filter for your own tweets.
Why X's word filters miss your own swearing
X's filters are built to protect what you see, not to clean what you posted.
That is the whole problem in one line, and it explains why searching "profanity filter" in your settings never turns up anything that touches your own timeline.
The most familiar one is muted words. According to X's guide to advanced muting options, muting hides other people's posts that contain a word from your Home timeline and notifications.
It does not reach your own tweets, and it does not apply to search, so anyone who looks you up still finds everything you wrote.
X also does not screen ordinary rude language. Its page about offensive content explains that X does not remove potentially offensive content that does not break its rules.
Your old swearing is allowed to stay forever, which is exactly why it is still there.
Why old profanity on Twitter matters more than it used to
Swearing on a personal account rarely breaks a rule. It breaks first impressions.
A recruiter, a client or a sponsor reads a timeline out of context and in a few minutes, and a stream of casual profanity tells them more about your judgment than any bio line.
The fix is to remove swear-word tweets by keyword instead of scrolling. On X, tweets are deleted one at a time, with no filter by keyword or date, which turns a cleanup of years into weeks of tapping.
There is a quieter cost too. Every week the old tweets stay up is another week they can be screenshotted, quoted or linked by someone else, and copies made by other accounts are out of your reach once they exist.
A Twitter profanity filter run before a job search or a pitch is cheaper than an explanation after one.
Mute, hide or delete: which Twitter filter touches whose words?
Only a delete touches your own words. Mute and hide both act on other people's posts, so neither can work as a Twitter profanity filter for your own history. The table sorts the three by whose words they act on and what happens to your old tweets:
| Filter | Whose words | Where it acts | Your old tweets |
|---|---|---|---|
| Mute words (X) | Other people's | Your Home timeline and notifications | Untouched |
| Hide replies (X) | Other people's replies | Conversations under your posts | Untouched |
| Delete by keyword (Circleboom) | Yours | Your tweets, replies and retweets | Deleted for good |
If a filter does not delete, it cannot clean your history.
Mute and hide still have a job. They keep the next round of other people's language out of your view. Circleboom's walkthrough on how to block words on Twitter covers that side well.
Run them after your own cleanup, not instead of it.
How Circleboom's keyword delete works as a Twitter profanity filter
Circleboom's Delete All Tweets feature lets you type a word into its Delete by Keyword / Username or Hashtag field and deletes every tweet in your X archive that contains it. That field searches tweet text, @mentions and #hashtags, which is what turns a delete tool into a working Twitter profanity filter.
It does not come with a built-in list of swear words. You supply each word, and the field finds the tweets that contain it.
That is less automatic than a ready-made list, and it is also more accurate, because the words in your history are your own spellings, slang and abbreviations.
The tool works from your X archive's tweet.js file, not from the 3,200 most recent tweets that X's API exposes. That matters for profanity, since most of it tends to sit in older years.
Circleboom's broader guide to delete tweets by keywords and hashtags shows the same filter used for brand names and campaign tags.
Building the word list before you run it
The list decides the result. Before you upload anything, collect the swear words you used in their real forms: full spellings, abbreviations and the symbol-swapped versions, such as a dollar sign standing in for an S.
If you are not sure which words you used, search Twitter history on your own account first and note what comes back.
What the keyword field does not search
Knowing the edges of the filter saves you from expecting too much from it. The field searches tweet text, @mentions and #hashtags, and it works on the tweet.js file of your own account. That leaves a few things outside any keyword run:
- Words that appear only inside a photo, a video or a GIF, since the field reads text, not images.
- Other people's replies under your posts, which belong to their accounts.
- Your direct messages, which Circleboom handles in a separate Delete all DMs tool.
- Your likes, which come from a different archive file.
For the media case, the Delete by Media Type filter can narrow a run to tweets with photos, videos or GIFs attached, so you can review them as a group. No Twitter profanity filter reads the words in a picture, so that part stays a judgment call.
Why the access route matters for a permanent action
Deleting a tweet cannot be undone, so who carries out the deletion matters. Circleboom is a verified Enterprise partner of X, so the cleanup runs through access X grants and stays inside its rate limits. No scraping, and no shortcut that puts the account at risk.
Compared with deleting by hand, the change is scale. Instead of finding one tweet at a time, you run a Twitter profanity filter across your entire history with one word and one confirmation per run.
Does the keyword filter catch replies, @mentions and hashtags on X?
Yes. The Delete by Keyword / Username or Hashtag field searches tweet text, @mentions and #hashtags, and the post-type checkboxes decide whether tweets, retweets and replies are included. All three boxes are checked by default.
Replies deserve the most attention. Heated swearing tends to live in reply threads rather than in original tweets, and replies are the hardest to find by scrolling because they sit under other people's posts.
Leaving Replies checked during each keyword run is what catches them, and it is where a Twitter profanity filter earns its keep.
Mentions work the same way, with a handle in place of a word. Typing the @username of a rival club or a former coworker returns every tweet where you mentioned that account, so every exchange with it comes up in one run. That use has its own page, where you can bulk delete Twitter mentions.
Hashtags count too. If a word appears inside a hashtag you used, the field searches #hashtags as well, so the same entry covers both the plain word and the tag.
Retweets need one decision. With ReTweets checked, your retweets that match the word are removed along with your own posts.
If you only want to clean what you wrote, uncheck ReTweets and run the word again later with the box on.
Swear words in another language: what the X filter needs from you
The keyword field matches the words you type, so it does not translate. A word in your second language is caught only when that word is on your list in that language.
Circleboom adds a second control for this. The Delete by Language dropdown narrows a run to tweets in one language, based on the language X records in each tweet's settings. Tweets X could not label, such as tweets without text, show as "UND", meaning undefined.
Two practical patterns come out of that:
- Run each foreign swear word as its own keyword, with Language left on "All".
- Pair a word with its language when the same spelling means something harmless in another language.
Maybe a whole period of your account was in a language you no longer use. In that case, the page to delete tweets by language covers that wider clean-up.
Video demo: the keyword field doing a full deletion on X, from the typed word to the removed tweets.
How to set up a Twitter profanity filter for your old tweets
Five steps, split between getting your history in and running the words. Treat the word list as the real input: the Twitter profanity filter only finds what you type.
Load your whole tweet history from X
- Log in to Circleboom using the X account you plan to clean, because Circleboom only processes a tweet.js file from the account linked to your subscription.

- Open the Essential Toolbox menu and select Delete All Tweets in the Delete Tools column.

- Upload the tweet.js file from your X archive in the Upload step. If you have no archive yet, request it on X under Settings and privacy with "Download an archive of your data"; it can take 24 to 48 hours to arrive.
Run each word and confirm it
- Enter one swear word in the Delete by Keyword / Username or Hashtag field, set the Tweets, ReTweets and Replies boxes, and pick a language if the word needs one.
- Check the Approve & Delete panel, add any tweet you want to keep with "+ Add to Protect List", then click "Delete my Tweets" and keep the browser open until the run ends. Upload the same tweet.js again for the next word.
The sequence holds because the archive gives the filter your full history, one word per run keeps the Approve & Delete count small enough to check, and the confirmation step means nothing is deleted that you have not seen counted.
Re-uploading costs nothing, since Circleboom leaves out tweets it has already deleted.
In short:
- One archive upload, reused for every word.
- One word per run, with replies and mentions included.
- One look at the count before each confirmation.
Which Twitter cleanup fits your situation?
Pick the branch that matches your account.
If your swearing is mostly recent and you have no archive yet, Delete My Last Tweets works on your latest 3,200 tweets with the same keyword filter, with no upload needed.
If the swearing goes back years, request the X archive today and run the five steps above, one word at a time, starting with the words you used most.
If a few tweets with strong language are worth keeping, such as a quote or a joke that still lands, add them to the Protect List before each run so the keyword pass skips them.
If you swore in two languages, give each language its own words on the list and use the Language dropdown where a spelling is shared.
If your likes worry you as much as your tweets, Circleboom's guide on how to delete posts you've liked explains the like-side cleanup. The archive route to unlike Twitter likes in bulk uses the same keyword filter on your like history.
A Twitter profanity filter built from your own word list is slower to set up than a switch in settings, and it is the only kind that reaches what you wrote.
→ Start clearing profanity from your Twitter history
Still wondering what the keyword filter catches?
Why do swear-word tweets I deleted from X still show up on Google?
X's public data is indexed and historically searchable, so a search engine can still list a tweet after it leaves your profile. Deleting it on X removes the source, while copies and quotes held by other accounts stay outside your control.
Can I check which of my X posts read as hateful before I delete anything?
Yes. Run a word, then review the filtered selection and the Approve & Delete count before you click delete; nothing is removed until you confirm. Reviewing the filters before acting is the step Circleboom's own documentation recommends.
How long does it take to get my X archive?
X usually takes 24 to 48 hours to prepare the archive after you request it. Request it before you finish your word list so the wait overlaps with the planning.
Can I keep one tweet with a swear word on my X profile?
Yes. Add it to the Protect List with "+ Add to Protect List" before you confirm the run, and every keyword pass will skip it.
Will deleting my tweet on X remove someone else's quote of it?
No. Quote tweets, retweets and replies from other accounts that referenced your deleted tweet may still exist on X, and only their owners can remove them.