Chrome extensions can add useful functionality to the browser, but they can also slow down your browsing experience. We’ve tested the page speed impact of 5,000 Chrome extensions as part of our 2024 report on Chrome extension performance.
Find out what popular extensions increase CPU processing, how some extensions delay page load times, and what difference ad blockers can make.
Additional website CPU processing
To add functionality most Chrome extensions need to run code on a website. This will always add additional processing, so this code needs to run as fast as possible and should only run when needed. However, many extensions run this code on every website visit.
Looking at the 336 Chrome extensions with over 1 millions users we find that several add over half a second of additional processing time to every page view.
Monica, an AI tool with 2 million users, adds 1.3 seconds of processing time even on a simple test website. The Read&Write extension with 17 million users adds 0.8 seconds of processing time.
Is this any different when visiting a more realistic page? To find out we also ran our tests on the Ikea website.
Most slow Chrome extensions run the same code on every page. However, many extensions also load specific code based on the type of website. Now that we look at a shopping website the slowdown caused by shopping tools like Klarna, Honey, or Capital One Shopping is more significant.
Honey is a coupon extension with 20 million users. If it is installed we can see 1.5 seconds of additional CPU processing when loading the Ikea homepage.
So far we’ve only looked at extensions with a very large user base. But there are over 110,000 extensions in the Chrome Web store, so let's look at the most popular 5,000 extensions next.
We can see that the MaxAI chrome extension with 800,000 users adds 2.3 seconds of processing time to every page visit. Other AI tools like eJOY AI, Magical, and QuestionAI also all add over one second of CPU time.
When testing the Ikea website we find that the “superagent - Automatic cookie consent” causes over 4 seconds of processing time. However, this is not processing that’s done directly by the extension. Instead, superagent interacts with the cookie banner and accepts some third-party code.
We can also see multiple Airline rewards programs with a similar performance impact. These extensions are built by the same company and together these extensions have about 640,000 users.
So far we’ve been looking at the worst-performing extensions. But how common is it for an extension to add a lot of processing to every page?
If we look at the simple test website again we find that 86% of extensions only have a minimal impact if any, below 50 milliseconds of CPU processing time. Only 1.7% have a CPU impact over 500 milliseconds.
Do Chrome extensions make websites load more slowly?
Many extensions increase the amount of CPU processing done on each page the user visits. But does that also result in pages taking longer to load?
Processing that's done before a page has rendered will have a much worse impact on user experience than code that runs after the page has loaded. To investigate that, we look at the First Contentful Paint metric which measures how soon after opening a website the first bit of page content becomes visible.
We find that many extensions that cause a lot of processing, like Coupert Coupon Finder or the Merlin AI extension don’t delay the initial load of the website.
However, other extensions like Monica AI, Klarna, or Avast Safeprice do significantly increase page load times. That’s because they run their code as soon as the page starts loading, rather than after the page content has been displayed.
When looking at the top 5,000 extensions we also see several VPN proxy extensions. This makes sense as they route traffic through an intermediary server, adding some additional delay.
Chrome extensions slowing down page interactions
We’ve seen that Chrome extensions can slow down website rendering and cause additional CPU processing during the page load process. But do they also slow down later user interactions with the page? To test this we tested what happens when clicking on website content and measured the Interaction to Next Paint performance metric.
Generally, interaction delays are less common. Among extensions with over a million users we saw the Microsoft Editor extension and the Superb Copy extension add processing delays to each interaction. However, these delays were only around 10 milliseconds.
We saw that the Avira Password Manager with 6 million users added at 160 millisecond delay when clicking on a random content heading on a test page. However, in this case the delay did not actually come from the interaction itself. Instead the extension was still running initialization code long after the initial page navigation, which had to finish before the browser was able to process the interaction. However, if we had waited another 5 seconds this delay would not have shown up.
Other extensions do perform additional processing in response to page interactions though. For example the TextCortex AI extension with 80,000 users caused an interaction delay of 96 milliseconds.
The Impact of ad blocking on website performance
While most Chrome extensions add functionality, ad blockers and privacy tools remove it. That means that ad-heavy websites will become faster with these extensions installed.
To measure this we tested two news articles with different ad blockers installed. Across both pages we found 57 seconds of CPU processing time without an ad blocker installed. If we install uBlock Origin, one of the most popular ad blockers with 37 million users, processing time goes down to just under 4 seconds.
Interestingly, the two most popular ad blockers do relatively little to reduce CPU activity. AdBlock (66 million users) and AdBlock Plus (45 million users) both don’t save more than about 15% of overall processing time. This might be because we used the default settings for our test, but in AdBlock there’s a setting to opt out of acceptable ads after installation.
The ScriptSafe extension reduces processing time to less than half a second across both pages. However, this is because all JavaScript code is blocked which is also likely to break some desired website functionality.
Ad blockers reduce how much code and other resources are loaded when opening a website. We can also see this when looking at the overall download size of a web page.
Without an ad blocker the page weight across both websites is 41 megabytes. uBlock Origin reduces this to just under 3 megabytes.
Loading less content also means using less device memory. However, ad blockers also need to access blocklists of ad servers and other third party scripts. While these blocklists increase memory consumption, they only need to be loaded once and then can be used across multiple pages in the browser.
We find that, on ad-heavy websites, memory consumption still goes down significantly with most ad blockers.
Hard drive storage usage
After installation Chrome extension code and other resources are stored locally on a folder on your hard drive. How much disk space does this folder use up?
Among the top 5,000 extensions, 27 use up over 100 megabytes of storage space. The Meme Soundboard extension with 50,000 installations uses over 600 megabytes of disk space. This consists of 723 MP3 files, including a 30.7 megabyte readout of the Bee Movie script.
That being said, the 87% of the Chrome extensions we tested only use under 10 megabytes of disk space.
Chrome extensions breaking the back/forward cache
When visitors use the back and forward buttons to navigate through their browser history, browsers try to optimize these navigation by restoring the previously opened page. This functionality is called the back/forward cache, and ideally these history navigation should be instant.
However, not all back/forward navigation can be cached, and this depends on the code that runs on the website. As extensions can run code on a website that means they can also break the back/forward cache.
Among extensions with over 1 million users we find 6 that break the back/forward cache:
- LastPass Password Manager (10 million users)
- Avast Online Security (8 million users)
- Avira Browser Safety (6 million users)
- Norton Password Manager (5 million users)
- Snap&Read (4 million users)
- Microsoft Editor (2 million users)
Overall 1.7% of the top 5,000 extensions break the back/forward cache. While this number is relatively low, many people will have multiple extensions installed that could cause this issue. With 5 random extensions installed you’d have an 8% chance of history navigation no longer being cached.
Chrome extensions breaking page pre-rendering
Another browser feature that’s meant to optimize page load times is pre-loading pages before they are opened. This is either done automatically by Chrome when you start typing into the URL field. or when a website that's already open tells the browser to preload the likely next page.
Among extensions with over a million users we found that uBlock Origin, Windscribe, and Privacy Badger all disable pre-rendering. This is because there are some privacy concerns related to loading a web page before the user has chosen to open it.
Overall we found this issue to be relatively rare, with only 8 extensions (0.2%) disabling pre-rendering.
What can extension developers do to make their extensions fast?
Most extensions have a minimal impact on website speed. What are these extensions doing right?
The biggest factor is minimizing the amount of code that’s loaded on every page. That means;
- Reducing the size of JavaScript files that are loaded
- Ensuring that code runs after the page has loaded, not before (avoiding
run_at: document_start
) - Only loading code when necessary, for example after a user interaction or on specific websites
What can Google do to promote faster Chrome extensions
Google could make it easier for developers to notice when their extensions are slow and optimize Chrome to run extension code more efficiently.
They can also work directly with the authors of popular and featured extensions to make them aware of performance issues and fix them.
Telling developers about slow extensions
Currently it’s easy for developers to build a slow Chrome extension without noticing. You can release an extension that loads 5 megabytes of JavaScript code on every page without being alerted to that fact during the publishing process.
Google could detect large scripts automatically and tell developers about them. That applies especially if these scripts are run before the normal page content has loaded.
There are likely easy wins here, as many extension developers won’t be aware of the negative performance impact. When developing a website the impact of large JavaScript files becomes clear relatively quickly as these files take longer to download. But since extensions load the code locally, developers are less likely become aware of the need for optimizations.
Caching compiled extension code
A lot of code that is loaded by Chrome extensions never runs. Instead, much of the CPU processing time is spent compiling the code.
Recompiling the same code multiple times is wasteful, so normally the result is cached by the browser. However, this does not apply to chrome-extension://
URLs, as the compilation cache is integrated with the HTTP cache and there were security concerns if caching was enabled.
Adding support for caching the compilation results of Chrome extension scripts could reduce the negative impact of extensions that load large JavaScript files.
What can users do for a faster browsing experience?
As a Chrome user, you can review the extensions you’ve installed and remove or disable those you don’t actively use. You can also look up the performance impact of the Chrome extensions you’ve installed.
If you’ve installed a Chrome extension but only need it some of the time, you can restrict it to run on some websites or only when you click the extension icon.
Methodology
To collect the performance data we tested each Chrome extension on 4 different websites. We ran each test 5 times and reported the median value. The test environment was an n2-standard-2 virtual machine on Google Cloud. To collect the data we used Puppeteer and Google’s Lighthouse tool.
Conclusion
While most extensions have a minimal performance impact there are also many widely used extensions that slow down pages significantly. This effect is additive between extensions, so installing 10 moderately fast Chrome extensions can still lead to a noticeable slowdown in your browsing experience. The performance impact of Chrome extensions will also be more noticeable on lower end devices.
In this article we’ve taken a high-level look at the impact that extensions have on browser performance. In future posts we’ll take a closer look at their impact on Core Web Vitals and investigate ad blockers in more detail. For example, we’ll compare the current Manifest V3 version of uBlock Origin that’s due to be deprecated in June 2024 to the Lite version that uses Chrome’s new Manifest platform. You can sign up for our newsletter to find out when those posts come out.