Twitter Filter icon

Twitter Filter

Free

Filter your Twitter/X timeline using customizable rules. Mark, hide, or auto-block tweets based on account properties and tweet content. Subscribe to community rules or create your own with a simple expression language.

4,000+
5 Rating
Mark
Yellow border + reduced opacity
Hide
Completely hidden from timeline
Block
Auto-block with delay and undo

Powerful Filtering

Everything you need to clean up your Twitter/X timeline

Expression-Based Rules

Write rules using a simple expression language. Access user fields (followers, account age, bio) and tweet fields (text, media, links).

Mark, Hide, or Block

Mark tweets with a yellow border to review, hide them completely, or auto-block the account with a configurable delay and undo.

Subscribe to Rules

Browse and subscribe to community-published rules. Subscribed rules sync automatically so you always have the latest version.

Screen Name Lists

Add screen names to a rule manually, paste a list, or import from CSV. Each rule supports up to 100,000 names.

Whitelist

Your own tweets and tweets from accounts you follow are always skipped automatically.

Privacy First

Tweet filtering runs entirely in your browser. Rule sharing is optional and only syncs rule metadata, never your timeline data.

What Can You Filter?

Common use cases for Twitter Filter

Spam & Bots

Detect suspicious accounts by checking follower ratios, account age, default avatars, and bot-like username patterns.

Crypto & NFT Spam

Filter out crypto promotion, airdrop scams, and NFT spam by matching keywords in bios, usernames, and tweet text.

Custom Criteria

Build your own rules with the expression language. Combine any user or tweet field with logical operators, regex, and built-in functions.

Rule Examples

Simple expressions, powerful filtering

Keyword filtering

tweet.text contains 'crypto' || user.description contains 'crypto'

Suspicious accounts

user.followers / user.following < 0.01 && days_since(user.created_at) < 30

Bot-like username pattern

user.screen_name matches '^[a-zA-Z]+\d{8,}$'

Hide non-English tweets

tweet.lang != 'en'

Frequently Asked Questions

How does it work?

The extension intercepts Twitter's API responses to extract tweet and user data, then evaluates your rules against each tweet. Matched tweets can be marked with a yellow border, hidden from view, or trigger an auto-block. You can create your own rules or subscribe to rules published by other users.

Does it send any requests to Twitter?

Mark and hide actions are purely local — the extension reads API responses and modifies the DOM in your browser. The optional block action does send a block request to Twitter on your behalf, with a configurable delay and undo button so you stay in control.

What browsers are supported?

Chrome, Edge, Firefox, and Safari. The extension is built with WXT for cross-browser compatibility.

Is my data secure?

Tweet filtering runs entirely in your browser — no timeline data leaves your device. Rules and settings are stored in IndexedDB locally. If you choose to publish or subscribe to shared rules, only rule metadata (name, conditions, screen name lists) is synced with the server.

Twitter/X is stuck in an infinite loading loop after installing

This is usually caused by a conflict with another browser extension (e.g. certain VPN or proxy extensions). Try disabling all other extensions, then refresh Twitter/X. If the page loads normally, re-enable your extensions one by one to find which one is causing the conflict. If you identify the conflicting extension, please let us know via the support page so we can investigate and improve compatibility.

Can I write my own rules?

Yes. The extension uses a simple expression language with access to user fields (followers, bio, account age, verification status) and tweet fields (text, media, links). You can use operators like contains, matches (regex), and built-in functions like days_since(). See the full rule reference for all available fields, operators, and examples.