PopupBlocker is a userscript that blocks all unwanted pop-up windows in different browsers.
Works in Chrome, Firefox, Edge, Safari, IE10+ etc, basically in any browser that supports userscript managers. Exceptions are some of the oldest browsers that do not support the API we use, the script may not be fully functional there.
PopupBlocker doesn't apply the filtering rules approach to pop-up detection. Instead, it adds an additional layer on top of browser's native APIs that are used to create pop-ups. This way, these APIs can only be called when caused by a manual input, and not by pop-up/pop-under scripts. That allows to block pop-ups even on websites that try to bypass regular ad blockers by using WebRTC or varying the ad servers.
Self-explanatory but important: if a click would cause a pop-up to show, not only the pop-up is blocked, but also the initial click is processed as it would be without the pop-up.
Other scripts on the page can not detect that PopupBlocker is being used, other than by actually trying to open a pop-up. This prevents any possible circumvention of PopupBlocker.
PopupBlocker is being developed by the same team that develops AdGuard, and AdGuard for Windows can serve as a userscript manager. If you are an AdGuard user, go to Settings – Extensions – Add Extension and add the PopupBlocker .js file there. This way you can use it in literally any browser.
On the other hand, PopupBlocker is an independent project, you can use it with any other userscript manager like Greasemonkey, Tampermonkey or Violentmonkey. Make sure one of them is installed in your browser to be able to use the PopupBlocker, and then hit the Install button at the top of the page.
You can also find all PopupBlocker versions, including all beta-versions and past versions, on GitHub.
To report a bug, visit our GitHub page and create a new issue.
You can help us with translating PopupBlocker into other languages! Our project on OneSky is open for public contributions.
We maintain a development build that is updated automatically with every commit. Visit our GitHub page to find details.