Ad handling on your terms
Regular ads are detected in real time. Promoted posts are optional, and every match can either hide the post locally or block the advertiser account through X's native flow.
Open source Zero telemetry
A lightweight Chrome extension for X that detects sponsored posts, lets you choose between hiding a post or blocking its account, and saves videos, GIFs, and images locally.
Presentation preview of the extension's Home screen. The controls below are decorative and are not interactive.
Features
A focused toolkit for a cleaner feed, deliberate account controls, and simple media downloads.
Regular ads are detected in real time. Promoted posts are optional, and every match can either hide the post locally or block the advertiser account through X's native flow.
Download the highest-bitrate MP4, convert X GIFs, or save full-resolution images and multi-photo posts with clean filenames.
Hide posts containing a word, phrase, hashtag, or handle. Filter matches stay local and never trigger an account block.
See category-level stats, review blocked advertiser history, export or import local data, and keep every setting within reach.
English, Türkçe, Deutsch, Français, Español, Português, Italiano, Русский, 日本語, 한국어, and 中文. Browser detection and manual override are built in.
Regular ad blocking, optional promoted posts, action mode, toast notifications, media-only display, and language settings are all visible in one place.
How it works
The extension works with X's visible interface and user-triggered media requests. No filter lists to maintain and no background telemetry.
A debounced MutationObserver watches for new tweets and checks exact ad labels outside
the tweet body.
Use Block account on X for a lasting account-level action, or Hide post only for a local and reversible choice.
Unique advertiser handles, categories, counters, filters, and blocked history are stored locally and rendered in the popup.
The background worker resolves tweet media through X's public syndication endpoint only after you press the download button, then fetches the selected file.
Hydration-aware retries, temporary interaction shielding, and rescan-on-reenable keep the experience stable as the feed changes.
Privacy
The extension is designed to keep your controls and history on your device while being precise about the X requests needed for media downloads.
No analytics, tracking pixels, crash reporting, or settings transmission. The extension does not send your X activity to a third party.
When you click download, the extension uses X's public syndication endpoint to resolve the best file, then fetches the selected media from X's media hosts. Nothing is sent to a third party.
Settings, filters, counters, language preference, and blocked history live in
chrome.storage.local on your device.
Installation
The extension is distributed from GitHub and installed directly in Chrome Developer Mode.
Clone or download this repository as a ZIP.
Open chrome://extensions/ in Chrome.
Turn on Developer mode.
Select Load unpacked and choose the extracted folder.
Open x.com, refresh, and browse with your chosen settings.