Skip to content

Compatibility Matrix

Krzysztof Modras edited this page Mar 29, 2024 · 13 revisions

Network Filters

Feature Supported Note
*, wildcard uBlockOrigin's Wiki
^, separator match any separator or EOL: [^\w\d_.%-]|$
@@filter, exceptions
|filter, left anchor match left of URL
filter|, right anchor match right of URL
||filter, hostname anchor match hostname of URL
RegExp
Pre-parsing directives uBlockOrigin' Wiki
Type Supported Note
$~type (negation)
$image
$media
$object
$object-subrequest
$other
$ping
$beacon
$script
$stylesheet
$css alias for stylesheet
$subdocument
$frame alias for subdocument
$xmlhttprequest
$xhr alias for xmlhttprequest
$font
$websocket
$webrtc
$popup AdGuard's KB
Option Supported Note
$domain |-separated list of domains or hostnames
$~domain negated domains or hostnames
$badfilter uBlockOrigin' Wiki
$important 1 uBlockOrigin' Wiki, AdGuard KB
$third-party only apply yo third-party resources
$3p alias for third-party
$first-party alias for ~third-party
$1p alias for first-party
$redirect 2 uBlockOrigin's Wiki
$redirect=none disable specific redirect filters
$redirect-rule uBlockOrigin's Wiki
$generichide
$ghide alias for generichide
$specifichide
$shide alias for specifichide
$elemhide
$ehide alias for elemhide
$csp 3 AdGuard KB
$match-case all filters are considered case insensitive
$document
$doc alias for document
$genericblock will not be supported
$collapse
$content AdGuard KB
$jsinject AdGuard KB
$urlblock AdGuard KB
$extension AdGuard KB
$empty AdGuard KB
$mp4 AdGuard KB
$replace AdGuard KB

[1] Missing is proper handling of exceptions with $important flag but there is currently no such filter in use in popular lists.

[2] Strict validation rules are not currently enforced.

[3] Missing strict validation of accepted CSP values.

Cosmetic Filters

Feature Supported Note
## selector
#@# exception
hostnames
~hostnames (negation)
entities uBlockOrigin's Wiki
~entities (negation) uBlockOrigin's Wiki
:style uBlockOrigin's Wiki
+js(...) inject specific javascript code into pages
#@#+js() disable scriptlet injection for a given site
HTML filters uBlockOrigin's Wiki, AgGuard's KB
^script:has-text(...)
operators chaining only for has-text(...)
Procedural filters uBlockOrigin's Wiki, AgGuard's KB
-abp-contains https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-css-rules-syntax-1
-abp-has
-abp-properties
:has(...)
:has-text(...)
:if(...) Deprecated in favor of :has(...)
:if-not(...) Deprecated in favor of :not(:has(...))
:matches-css(...)
:matches-css-after(...)
:matches-css-before(...)
:min-text-length(...)
:nth-ancestor(...)
:upward(...)
:watch-attr(...)
:watch-attrs(...) Deprecated in favor of :watch-attr(...)
:xpath(...)

As of April 2019 the following proportion of all filters are supported:

  • network = 96%
  • cosmetic = 99%

As a point of comparison, here are the same numbers for other blockers:

uBlock Origin:

  • network = 99%
  • cosmetic = 100%

AdblockPlus:

  • network = 98%
  • cosmetic = 98%

Brave:

  • network = 55%
  • cosmetic = ? (currently cosmetic filters are not applied)
Clone this wiki locally