An efficient, embeddable JavaScript library for blocking ads, trackers, and annoyances across multiple environments.
Adblocker is an efficient, embeddable JavaScript library for blocking ads, trackers, and annoyances in web applications. It provides seamless integration across environments like Puppeteer, Electron, and WebExtensions, solving the need for performant ad-blocking in custom projects. The library is compatible with popular filter lists like Easylist and uBlock Origin.
Developers building applications that require embedded ad-blocking, such as custom browsers (Electron), headless browsing tools (Puppeteer), browser extensions, or mobile apps using React Native.
Developers choose Adblocker for its high efficiency, minimal performance overhead, and broad compatibility with existing filter standards. Its modular design allows easy integration into diverse environments without reinventing the wheel.
Efficient embeddable adblocker library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses algorithms designed for minimal performance impact, backed by linked studies showing it's among the most efficient adblockers.
Seamlessly integrates with Puppeteer, Electron, WebExtensions, and standalone JavaScript via dedicated packages, as shown in the multi-package structure.
Supports 99% of filters from Easylist and uBlock Origin, ensuring comprehensive blocking without reinventing filter standards.
Includes methods like `fromPrebuiltAdsAndTracking()` for quick integration, reducing initial setup complexity.
Powers adblockers for Ghostery and Cliqz, used by millions in production, demonstrating battle-tested robustness.
Relies on third-party filter lists like Easylist, which could change or become unavailable, requiring manual updates and maintenance.
As a JavaScript/TypeScript library, it cannot be easily used in non-JavaScript environments without significant workarounds or porting efforts.
While basic setup is simple, advanced use cases in non-standard environments may require deep understanding of the library's internals and additional configuration.