Remove AI Overviews and AI Mode from Google Search. Get classic web results back. Free, open source, no tracking.
PlainSight has three modes. You pick one on the welcome page and can switch any time from the toolbar button.
udm=14). It shows links only. Because the filter runs on Google’s servers, it keeps working when Google changes its page layout. Images, maps and other modules are not shown in this view. A small “Show full Google results” link at the top of the results takes you to the full page for that tab.Options:
You can also pause PlainSight on a single tab from the toolbar button or with Alt+Shift+H (change it in your browser’s extension shortcut settings). The pause ends when you close the tab. The popup tells you when it hid an AI Overview on the current page, lets you show it on that page only with one click (the next search hides it again), and warns you if something looked like AI but was left visible for safety.
declarativeNetRequest: plain searches on Google Search domains get udm=14 added before the page loads. If you already picked a tab or vertical (Images, News, Web, AI Mode, Jobs, I’m Feeling Lucky, anything with udm, tbm, ibp or btnI), PlainSight leaves it alone. It does not change your default search engine.PlainSight collects no data. There are no analytics and no remote code. Settings are stored in your browser (and synced by your browser if you use browser sync). The “AI Overviews hidden” counter stays on your device. See PRIVACY.md.
The only connection PlainSight makes is selector updates: once a day it downloads src/selectors/selectors.json from this repository, so fixes for Google page changes reach you without waiting for a store review. The request carries no cookies, no referrer, no query string and no identifier. The file is data only (CSS selectors and heading texts), checked strictly before use; anything invalid or older than the copy in the extension is ignored. You can turn it off in Options.
Permissions:
storage: save your settings.declarativeNetRequestWithHostAccess and access to Google Search domains: add the Web filter to searches and hide AI blocks. PlainSight runs on nothing else.TODO(verify) in src/selectors/selectors.json).Requirements: Node.js 22.18 or newer (24 recommended) and pnpm.
pnpm install
pnpm dev # Chrome with hot reload
pnpm dev:firefox # Firefox (MV3)
pnpm test # unit and fixture tests
pnpm build # Chrome, Edge and Firefox builds in .output/
pnpm build:chrome; pnpm e2e # built extension in Chromium against saved Google pages
pnpm zip # store zips plus the Firefox sources zip
Other scripts: pnpm domains:update refreshes the list of Google domains, pnpm fixtures:capture saves Google pages as test fixtures (run on your own machine, never in CI), pnpm store:assets renders the store screenshots and promo tiles into store/assets/.
pnpm install --frozen-lockfile
pnpm build:firefox
The add-on is in .output/firefox-mv3. The build uses WXT (Vite) and Preact, with no code generation beyond bundling.
See CONTRIBUTING.md. Security issues: SECURITY.md.
Google Search is a trademark of Google LLC. PlainSight is not affiliated with Google.