antiAI is a Chrome extension that hides or blurs AI-generated media in social feeds and removes AI-generated answer modules from major search engines.
- Hides or blurs posts that appear to contain AI-generated images or videos.
- Supports X, Twitter, Instagram, Reddit, Facebook, Threads, TikTok, and YouTube.
- Detects likely AI media from captions, hashtags, alt text, ARIA labels, media URLs, and site metadata.
- Removes AI Overview modules from Google and AI answer blocks from Bing, Yandex, Brave Search, and DuckDuckGo when enabled.
- Lets users switch between
Hide postsandBlur postsfrom the popup. - Offers
NormalandStrictsensitivity levels. - Tracks the last page scan result in the popup.
- Adds a YouTube channel block action for repeat offenders.
- Skips flagged YouTube Shorts in the Shorts viewer instead of only hiding the card.
- Includes a Ko-fi support button in the popup.
antiAI is heuristic-based. It does not classify pixels directly. It looks for text and metadata signals that commonly appear around AI-generated media.
That means:
- It will miss unlabeled AI content.
- It can false-positive on posts discussing AI without containing AI media.
- Site markup changes can break selectors and require updates.
- Open
chrome://extensions. - Enable
Developer mode. - Click
Load unpacked. - Select the antiAI folder.
Enabled: Turns filtering on or off.Mode:Hide postsremoves matched posts from the feed.Blur postsobscures them behind a reveal badge.Sensitivity:Strictcatches more matches and can increase false positives.Hide AI Overview: Removes AI-generated answer modules from supported search engines.
- X / Twitter
- Threads
- TikTok
- YouTube
- Google Search
- Bing Search
- Yandex
- Brave Search
- DuckDuckGo
Contributions are welcome, but keep them targeted and verifiable.
- Selector fixes after UI changes on supported sites.
- Better heuristics with a clear false-positive tradeoff.
- Additional search engine AI answer blockers.
- Popup UX improvements that do not add unnecessary permissions.
- Performance improvements for large feeds.
- Tests or reproducible fixture pages for broken selectors.
- Reproduce the issue on a real page.
- Keep the change scoped to the affected platform or feature.
- Avoid adding new permissions unless they are strictly necessary.
- Prefer deterministic selectors and small heuristics over broad text matching.
- Check that the extension still loads as an unpacked MV3 extension.
- Edit the extension files in antiAI.
- Reload the extension in
chrome://extensions. - Refresh affected pages and verify behavior on at least one positive case and one negative case.
- If you touch search engine blockers, test with AI answers present and absent.
- If you touch YouTube logic, test both regular results and Shorts.
- Describe the affected site and the exact DOM or behavior change.
- Include before/after screenshots when the UI changed.
- Mention any new selectors or heuristic keywords added.
- Call out known risks or cases you could not test.
- Replace the Ko-fi URL in popup.js with your real page.
- Verify icons and extension name are final.
- Bump
versionin manifest.json. - Reload the unpacked extension and smoke-test supported surfaces.
- Zip the contents of antiAI for Chrome Web Store upload.
- manifest.json: Chrome extension manifest.
- content.js: Main detection and blocking logic.
- page-hook.js: YouTube page bridge for metadata capture.
- popup.html: Popup markup.
- popup.css: Popup styles.
- popup.js: Popup state and Ko-fi link wiring.