Blocking and filtering uBlock Origin supports the majority of
Adblock Plus's
filter syntax. The popular filter lists
EasyList and
EasyPrivacy are enabled by default. The extensions are capable of importing
hosts files and a number of community-maintained lists are available at installation. Among the host files available, ''Peter Lowe's ad servers & tracking list'' and lists of malware domains such as uBlock Origin's own anti-malicious filter called
Badware risks are also enabled as default, preventing users from visiting malicious websites such as those used for phishing, scams, malware, and more. Some additional features include dynamic filtering of scripts and
iframes and a tool for webpage element hiding. uBlock Origin offers several features not found in the original uBlock. These include: •
Color Vision Deficiency Mode: A feature designed to assist users with
color blindness. •
Dynamic URL Filtering: An option for more flexible and adaptive
URL filtering. •
Logging Functionality: Allows users to view
logs for better insight into the extension's activities. •
DOM Inspector: A tool for inspecting the
Document Object Model of web pages. •
Block link prefetching: Prevents the browser from preloading or prefetching links. •
Block hyperlink auditing: Disables the ability of websites to track when links are clicked through a technique called
hyperlink auditing. There used to be a feature that protected against IP address leaks via
WebRTC. However, this feature was removed in version 1.38 for all platforms except
Android, as most browsers no longer have vulnerabilities related to WebRTC leaks. Site-specific switches to toggle the blocking of
pop-ups, strict domain blocking, cosmetic filtering, blocking remote fonts, and JavaScript disabling were also added to uBlock Origin. The Firefox version of uBlock Origin has an extra feature which helps to foil attempts by web sites to circumvent blockers. uBlock Origin also supports modifying the response body of a request using the =replace directive. This allows it to effectively alter and deliver the modified response directly to the browser. However, this functionality is currently supported only on Firefox and Firefox-based browsers.
Performance and efficiency Technology websites and user reviews for uBlock Origin have regarded the extension as less resource-intensive than extensions that provide similar feature sets such as Adblock Plus. A
benchmark test, conducted in August 2015 with ten blocking extensions, showed uBlock Origin as the most resource-efficient among the extensions tested. uBlock Origin surveys what style resources are required for an individual
web page rather than relying on a universal
style sheet. The extension takes a
snapshot of the filters the user has enabled, which contributes to accelerated browser start-up speed when compared to retrieving filters from cache every time.
Differential updates Starting with version 1.54, uBlock Origin introduced the implementation of
differential updates (delta updates), which allows the extension to fetch only changes to filter lists rather than downloading the entire list. This results in lower bandwidth consumption and more frequent updates. This change was part of uBlock Origin's efforts to reduce both requests and bandwidth usage, with the goal of not being ranked among the most bandwidth-intensive projects on
jsDelivr, as reflected in public statistics.
Environmental impact According to a research paper, uBlock Origin was able to reduce web page load times by 28.5%, the highest efficiency compared to other ad blockers like
AdBlock Plus and
Privacy Badger. Its use could significantly reduce energy consumption, saving an estimated 100 hours of browsing time annually for the average global user. If widely adopted in the
United States, it could save over $117 million per year in electricity costs, and globally, it could result in savings exceeding $1.8 billion. The research report also suggests that widespread use of uBlock Origin could have environmental benefits, potentially preventing pollution-related deaths caused by coal-fired power generation used to support the extra energy consumption from ads. The main reason is that uBlock Origin (uBO) faces several technical limitations when used on
Chromium-based browsers compared to its performance on Firefox, and as a result, users may experience less effective ad blocking, potential exposure to unwanted content, and slower performance when using uBO on Chromium-based browsers:
CNAME Uncloaking In November 2019, a uBlock Origin user reported a novel technique used by some sites to bypass third-party tracker blocking. These sites link to URLs that are sub-domains of the page's domain, but those sub-domains resolve to third-party hosts via a
CNAME record. Since the initial URL contained a sub-domain of the current page, it was interpreted by browsers as a first-party request and so was allowed by the filtering rules in uBlock Origin (and in similar extensions). The uBlock Origin developer came up with a solution using a DNS API which is exclusive to Firefox 60+. The new feature was implemented in uBlock Origin 1.25, released on February 19, 2020. Chromium-based browsers lack the ability to uncloak third-party servers disguised as first-party through
CNAME records. This limitation reduces the efficiency of blocking third-party trackers, a capability that uBO fully utilizes on Firefox. Furthermore: •
IP address filtering: In version 1.60, uBO introduced the ability to block network requests based on their IP addresses. This is achieved by fetching the DNS records for a specific URL and filtering according to the IPs found. Full support is available for Firefox-based browsers, while Chromium-based browsers can only filter when an IP address is directly used in the URL instead of a hostname. •
HTML Filtering: uBO's ability to filter the response body of
HTML documents before they are parsed by the browser is hindered in Chromium-based browsers. This feature, enabled by the webRequest.filterResponseData()
API, is currently only available in Firefox, limiting the effectiveness of uBO's HTML filtering on Chromium-based platforms. •
Response Body Filtering: The replace= option in network filtering, which allows for response body modification, is less effective in Chromium-based browsers. Firefox's support for this feature enables more robust content manipulation. •
Browser Launch Filtering: On Chromium-based browsers, uBO may not be fully ready to block network requests from already opened tabs immediately upon browser launch. This can allow some tracker or advertisement payloads to load before uBO becomes active, which is especially problematic for users who utilize default-deny modes for third-party resources or JavaScript. While there is a mitigation setting available, it is not enabled by default and does not cover all use cases. •
Pre-fetching: In Chromium-based browsers, websites may override user settings regarding
pre-fetching, potentially leading to unwanted network requests. Firefox, in contrast, reliably prevents pre-fetching when it is disabled in uBO. •
WebAssembly Usage: uBO does not use
WebAssembly for core filtering code paths on Chromium-based browsers due to the additional permissions required in the extension manifest, which could complicate the extension's publication in the
Chrome Web Store. This limitation can affect performance and functionality. •
Storage Compression: uBO on Chromium-based browsers cannot effectively use
LZ4 compression for storing filter lists and other data due to issues with
IndexedDB in incognito mode. IndexedDB instances are reset in incognito mode, causing uBO to start with out-of-date filter lists and reduced efficiency. Firefox does not face this issue, allowing for more efficient storage and retrieval of data. == Reception ==