uBlock Origin is actively developed and maintained by its creator and lead developer Raymond Hill and the open source community.[1] As of December 2024[update], the Chrome version of uBlock Origin had over 40 million active users and the Firefox version had over 9 million active users.[7][8]
History
The development of uBlock Origin (uBO) began by forking the codebase of HTTP Switchboard, an extension designed to give users control over browser requests. uBlock, which was the predecessor of uBlock Origin, was further influenced by uMatrix, another browser extension created by forking HTTP Switchboard.[9]
HTTP Switchboard
HTTP Switchboard was initially released on September 20, 2013.[10][11][12][13][14][15] It allowed users to control the types of requests made by their browser, providing a way to block specific types of web content. However, development of HTTP Switchboard ceased on May 18, 2015.[16][17][18]
uMatrix
Following the end of HTTP Switchboard’s development, uMatrix was introduced on October 24, 2014.[19][20][21]
This extension, designed for advanced users, acted as a request firewall, allowing users to control browser requests across two main dimensions: the domains and subdomains to which requests were sent, and the types of requests (such as cookies, images, XMLHttpRequest, frames, and scripts). uMatrix retained much of the user interface from HTTP Switchboard, but significantly expanded its functionality, offering a more granular level of control over web requests.
The evolution of these extensions laid the foundation for uBlock, combining elements from both HTTP Switchboard and uMatrix while streamlining the user experience for broader accessibility.
uBlock
uBlock was initially named "μBlock" but the name was later changed to "uBlock" to avoid confusion as to how the Greek letter μ (Mu/Micro) in "μBlock" should be pronounced.[citation needed] uBlock was developed by Raymond Hill to use community-maintained block lists,[22] while adding features and raising the code quality to release standards.[23] First released in June 2014 as a Chrome and Opera extension, in 2015 the extension became available in other browsers.[citation needed]
A joint Sourcepoint and comScore survey reported an 833% growth from November 2014 to August 2015, the strongest growth among adblockers listed.[24] The report attributed the growth to the desire of users for pure blockers, outside the "acceptable ads" program operated by Adblock Plus.[25]
In July 2018, ublock.org was acquired by AdBlock and resumed development.[26] From February 2019, uBlock began allowing users to participate in "acceptable ads",[27][28] a program run by Adblock Plus that allows some ads deemed "acceptable" and nonintrusive, and for which larger publishers pay a fee.[29]
uBlock Origin
On April 3, 2015, Raymond Hill transferred the uBlock project to Chris Aljoudi due to frustrations with managing increasing user requests.[30] Hill explained that the projects were no longer a hobby but had become more like a tedious job. He stated, “These projects are to me, not a full-time job. It stopped being a hobby when it felt more and more like a tedious job. I will keep maintaining my version (and share with whoever cares to use it) because it guarantees the tool will match what I want out of it.”[31] On April 6, Hill created his own fork of the project, renaming it uBlock Origin.[32]
Since October 2017, uBlock Origin has been completely separated from Aljoudi's uBlock.[33] Aljoudi created ublock.org to host and promote uBlock and to request donations. In response, uBlock's founder Raymond Hill stated that "the donations sought by ublock.org are not benefiting any of those who contributed most to create uBlock Origin."[6] The development of uBlock stopped in August 2015 but there were sporadic updates from January 2017.[34]
uBlock Origin Lite
In 2023, Google made changes known as "Manifest V3" to the WebRequest API used by ad blocking and privacy extensions to block and modify network connections.[35][36] Following Google's implementation of Manifest V3 and the end of support for V2, uBlock Origin's effectiveness is drastically reduced in Google Chrome and other Chromium-based browsers.[37][38][39]
As a result, uBlock Origin Lite was created and designed to comply with the Manifest V3 (MV3) extension framework. uBO Lite differs significantly from uBO in several key aspects, primarily due to the constraints and design goals associated with MV3. Specifically, it lacks filter list updates outside of extension updates, and has no custom filters, strict-blocked pages, per-site switches, or dynamic filtering. Google has been criticized for implementing some of these features due to its domination in the online advertising market.[40][41][42][43]
As of December 2024, the Chrome version of uBlock Origin Lite has over 1 million active users.[44]
Features
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.[45] Some additional features include dynamic filtering of scripts and iframes and a tool for webpage element hiding.[citation needed]
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.
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.[46]
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.[47] The Firefox version of uBlock Origin has an extra feature which helps to foil attempts by web sites to circumvent blockers.[48]
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.[49][50][51] A benchmark test, conducted in August 2015 with ten blocking extensions, showed uBlock Origin as the most resource-efficient among the extensions tested.[52]
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.[53]
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.[54][55]
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.[56]
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.[56]
Limitations in Chromium-based browsers
According to the creator and lead developer Raymond Hill of the extension, uBlock Origin works best on Firefox.[57] 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:[58]
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+.[59] The new feature was implemented in uBlock Origin 1.25, released on February 19, 2020.[60]
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
uBlock Origin is a widely praised content-filtering extension, known for being less memory-intensive than similar tools.[61][62][63][64] Its primary purpose is to give users control over their content-filtering choices, particularly in blocking advertisements and enhancing privacy.[65][66]
The extension has received positive feedback from both users and academic researchers. It is frequently recognized for its effectiveness in blocking ads, improving privacy, and boosting browsing efficiency.[49][50][51] Numerous studies and scientific papers have examined uBlock Origin’s impact on web performance, privacy, and user experience. These studies have contributed to a better understanding of the benefits of ad-blocking tools, with uBlock Origin often cited as one of the most comprehensive and efficient solutions. Its widespread use and inclusion in academic research highlight its importance in the broader context of digital privacy and online security.[67]
uBlock Origin is also appreciated for its commitment to remaining a non-profit project.[68] It does not accept paid advertisements and refuses donations, encouraging users to support the maintainers of block lists directly.[69] This commitment to independence helps reinforce its reputation as a privacy-focused tool without commercial interests.
Additionally, it has been praised for its positive environmental impact. By reducing web page load times, it can lead to significant energy savings. Widespread adoption of the tool could help lower energy consumption and mitigate environmental harm.[56]
Supported platforms
uBlock Origin is actively developed for applications based on two major layout engines.[22][49][70]
With Google’s phaseout of Manifest V2 in favor of Manifest V3, non-Chromium browsers like Firefox are unaffected,[71] while Brave is one of the few Chromium browsers planning to continue supporting Manifest V2 for certain extensions, including uBlock Origin.[72]
Google Chrome: As of December 2024, uBlock Origin has stopped working for some users due to Google beginning the phaseout of Manifest V2 in favor of Manifest V3. However, most users are not yet affected. Users can temporarily extend support through enterprise policies or sideload uBO manually.[72] uBlock Origin Lite will continue to function as it was specifically designed for MV3.[73]
Mozilla Thunderbird: In Thunderbird, uBlock Origin only affects RSS feeds, meaning that content blocking and privacy protections provided by uBO is not possible for emails.
Pale Moon: Users must use the firefox-legacy release, which was last updated on July 20, 2021.[74] As a result, it is no longer supported and not recommended for daily use due to potential incompatibilities, security vulnerabilities, and inefficiencies in content blocking.
Safari: Support for uBlock Origin for Safari ended with macOS 10.15 Catalina because Apple deprecated the legacy Safari Extension API in favor of a restricted content blocker framework, which limits ad-blocking capabilities and is incompatible with uBO’s functionality.[75][76][77][note 1]
Microsoft Edge Legacy: Edge Legacy was succeeded by Microsoft’s complete rebuild of Edge, based on Chromium, on January 15, 2020. As a result, support for uBO ended shortly after, with the Chromium-based version of uBO taking its place.[78][79][note 2]