ChatGPT Ad & Promo Blocker
Clean, Ad-Free ChatGPT in One Click
Block ChatGPT Plus/Pro upgrade banners, intrusive partner recommendation cards (Canva, Monday, Zillow), and sponsored badges. Download the ready-to-use extension ZIP, test live in our interactive sandbox, or customize detection rules below.
Interactive ChatGPT Ad Blocker Simulator
Test the live blocking algorithm against real simulated ChatGPT promo cards, partner widgets, and upsell banners.
Here is a structured framework for your quarterly marketing campaign:
Turn this campaign schedule into polished visual presentations and social banners in Canva.
Automate workflows and track your marketing sprints with Monday Work OS templates.
Zero layout shift • Inpainted smoothly
Custom Rule Generator & Extension Packager
Customize which phrases, partner brands, and CSS selectors to filter. Export a customized ZIP package instantly!
Matches any leaf or card containing these strings and climbs to the outer wrapper container.
Extension Source Code & File Inspector
Review the 100% open source Manifest V3 implementation files. Zero external calls, zero dependencies.
How to Install in 60 Seconds (Chrome, Brave, Edge & Arc)
No Chrome Web Store account or payment required. Load the unpacked extension directly into your browser.
Download & Unzip
Download the chatgpt-adblock.zip archive and extract the folder to a permanent location on your computer.
chatgpt-adblock/ Open Extensions Page
Type chrome://extensions in your URL bar (or brave://extensions, edge://extensions).
Toggle Developer Mode
In the top-right corner of the Extensions management page, turn on the Developer mode switch.
Load Unpacked
Click Load unpacked in the top-left, select the extracted chatgpt-adblock folder, and visit chatgpt.com!
Why Traditional Ad Blockers Fail on ChatGPT (and How React SPA DOM Dynamics Work)
The ChatGPT web client is a single-page application built on React that uses dynamically scoped CSS utility class names and client-side hydration. Unlike traditional publisher websites where advertisements are loaded from third-party advertising exchanges (such as Google AdSense or Taboola), ChatGPT embeds promotional upgrade banners and "Apps in ChatGPT" partner cards directly into the internal message stream and interface components.
Because these elements originate from the same first-party domain (chatgpt.com) without third-party network requests, standard URL-filtering ad blockers (such as DNS-level blockers or naive domain filters) cannot differentiate between a legitimate AI assistant reply and an intrusive sponsored partner card. Furthermore, ChatGPT regularly re-renders the conversation tree as new tokens stream in, causing static CSS element-hiding rules to become stale or break.
The Dual-Engine Architecture: Declarative CSS Injection + TreeWalker MutationObserver
The ChatGPT Ad Blocker utilizes an efficient dual-engine architecture designed specifically for modern dynamic JavaScript web applications:
1. Instant Declarative CSS Engine (`hide.css`)
Injected at run_at: "document_start", declarative CSS selectors immediately target known container attributes (e.g. [data-testid*="upgrade"], [data-testid*="app-card"], [aria-label="Advertisement"]). This prevents layout shifts and guarantees zero visual flickering while the page initially loads.
2. Reactive TreeWalker DOM Engine (`blocker.js`)
A high-performance MutationObserver observes newly added message stream elements. When new nodes appear, a lightweight TreeWalker tests leaf nodes against registered promo phrases and brand names. Using bounded ancestor climbing (climbToCard), it cleanly hides the nearest card wrapper without altering surrounding chat messages.
ChatGPT Ad Blocker vs Generic Ad Blockers vs UserScripts
Comparing dedicated React DOM blocking extensions against generic tools illustrates the trade-offs in performance, layout stability, and maintenance:
| Feature / Metric | ChatGPT Ad Blocker (Nadhebe) | Generic uBlock Origin Filter | Tampermonkey UserScript |
|---|---|---|---|
| Zero Layout Flash (document_start) | Yes (Declarative CSS) | Partial (Cosmetic filtering delay) | No (Runs after DOM loaded) |
| Dynamic React Re-render Resilient | Yes (MutationObserver + TreeWalker) | No (Class names change often) | Depends on script implementation |
| Partner App Card Extraction | Yes (Canva, Monday, Zillow, etc.) | Difficult without breaking UI | Manual XPath queries |
| Live Badge Counter & Popup | Yes (Real-time category breakdown) | Aggregated domain count only | None |
| CPU & Memory Overhead | < 2ms per mutation burst | < 1ms | Varies (10-50ms) |
| Telemetry & Privacy | 100% Client-Side • Zero Network Calls | Zero Network Calls | Depends on author |
Supported ChatGPT Promo Types & Brands Blocked
The default ruleset actively monitors and suppresses four major categories of promotional elements across chatgpt.com and chat.openai.com:
- Subscription & Plan Upsells: "Upgrade to Plus", "Upgrade to Go", "Upgrade to Pro", "Get Plus", "Try Plus", "Unlock GPT", "Upgrade your plan", and "Limited time" banners.
- Feature Discovery Banners: "Try advanced voice", "Explore Custom GPTs", and multimodal preview modals.
- Partner App Recommendations: Embedded suggestion cards for Monday.com, Canva, Zillow, DoorDash, Coursera, Spotify, Booking.com, Expedia, Peloton, Wolfram, Instacart, Figma, and Notion.
- Sponsored / Native Ads: Direct elements carrying
[aria-label="Advertisement"],[aria-label="Sponsored"], or[data-testid*="banner-ad"]metadata.
Security, Permissions & Zero-Telemetry Audit
In accordance with modern web security best practices, the ChatGPT Ad Blocker Manifest V3 extension requires only two permissions:
storage: Used strictly to save your local toggle preferences (enabled/disabled state) and locally stored blocked item counts inchrome.storage.local.host_permissions: ["https://chatgpt.com/*", "https://chat.openai.com/*"]: Used to execute the content script and injecthide.csssolely on OpenAI ChatGPT domains.
The extension makes zero external fetch requests, connects to no third-party APIs, and contains no analytics trackers. All code is completely inspectable directly in your browser.
Extension Support & Official Release Info
This page serves as the official homepage and support hub for the ChatGPT Ad & Promo Blocker Chrome extension (Manifest V3, Version 1.0).
Frequently Asked Questions
Common questions about this tool.
How does the ChatGPT Ad Blocker work without breaking the chat interface? ▼
The ChatGPT Ad Blocker uses a dual-engine approach: (1) declarative CSS injected at document_start to instantly hide known data-testid and aria-label ad containers with zero layout flash, and (2) a MutationObserver combined with a lightweight TreeWalker in JavaScript that scans new dynamic React DOM nodes for promo phrases and partner brand cards, climbing only to the nearest card container without affecting chat message threads.
Is the ChatGPT Ad Blocker extension safe and private? ▼
Yes, 100%. The extension is open source, operates entirely locally in your browser memory, requests only minimal required permissions (storage and chatgpt.com host permissions), and executes zero telemetry, external network requests, or analytics calls.
Why do standard ad blockers like uBlock Origin miss some ChatGPT promo cards? ▼
ChatGPT is a dynamic Single Page Application (SPA) built with React and Tailwind-like compiled utility classes that change across deployments. Native partner integrations (such as Canva or Monday.com cards) and inline upgrade prompts are rendered dynamically inside the message stream rather than fetched from traditional advertising third-party domains, making domain-based network filters ineffective.
Can I install this extension on Brave, Microsoft Edge, Arc, and Opera? ▼
Yes. Because all these browsers are built on the Chromium engine and support Manifest V3, you can load the unpacked extension in developer mode on Google Chrome, Brave, Microsoft Edge, Arc Browser, Opera, and Vivaldi.
Can I add my own custom keywords or brand cards to block? ▼
Yes. Use the interactive Custom Rule Generator on this page to add your own promo keywords, select partner brands, and export a custom-built ZIP package or copy updated blocker.js scripts directly.
Related Free Utilities
View all tools →JSON diff
JSON diff. Use this privacy-first json diff directly in your browser.
Base64 encoder
Base64 encoder. Use this privacy-first base64 encoder directly in your browser.
URL parser
URL parser. Use this privacy-first url parser directly in your browser.
JWT debugger
JWT debugger. Use this privacy-first jwt debugger directly in your browser.