Measured, not promised
The most loaded code on the web deserves a diet
on the scales, banner included
A consent banner loads on every page, for every visitor, on every phone with one bar of signal. It may well be the most downloaded piece of code on the internet, and most banners ship more code to ask one question than the page needs to answer it.
So every byte counts: lighter servers, faster pages, better Core Web Vitals, and a little less energy spent asking about cookies. We put the main consent plugins on the scales, on identical WordPress sites, on a phone.

11.43 kB First visit, in total
1.00 kB Each next page
7.74 kB JavaScript, first visit
3.48 kB Stylesheet, first visit
0 Requests to other servers
0 Layout shift caused
Every banner we weighed, lightest first
Default settings on identical test sites, free versions of the others (the limits are spelled out below), and hosted banners on their own websites. Sizes after compression, on a phone, without clicking the banner; 1 kB = 1,000 bytes, as in Chrome’s Network panel.
Measured on 6 November 2026. Newer versions since: Cookie Rocks 2.11.2. A new measurement runs automatically.
The ranking then adds up what each banner costs over the whole visit: the first page, then every page after it.
Banners that hold trackers until consent
- Cookie RocksWordPress plugin1.00 kB
- CookieYesWordPress plugin6.67 kB× 1.4Each next page adds 6.67 kB against 1.00 kB: over 10 pages, 76.58 kB against 20.43 kB.
- ComplianzWordPress plugin2.92 kB× 1.6Each next page adds 2.92 kB against 1.00 kB: over 10 pages, 44.99 kB against 20.43 kB.
- Pressidium Cookie ConsentWordPress plugin1.92 kB× 1.7Each next page adds 1.92 kB against 1.00 kB: over 10 pages, 36.22 kB against 20.43 kB.
- tarteaucitron.js (library, not the WordPress plugin)JavaScript library0.47 kB× 5.4Each next page adds 0.47 kB against 1.00 kB, after a first visit of 62.21 kB: it catches Cookie Rocks after about 100 pages in one visit.
- GDPR Cookie Compliance (Moove)WordPress plugin2.68 kB× 9.0Each next page adds 2.68 kB against 1.00 kB: over 10 pages, 127.30 kB against 20.43 kB.
- Real Cookie BannerWordPress plugin10.80 kB× 9.1Each next page adds 10.80 kB against 1.00 kB: over 10 pages, 201.22 kB against 20.43 kB.
- WP Cookie Consent (WPLP)WordPress plugin31.97 kB× 12Each next page adds 31.97 kB against 1.00 kB: over 10 pages, 420.81 kB against 20.43 kB.
Notices that hold nothing
They show a message and let trackers run. Some weigh less than Cookie Rocks, because they do less.
- Simple GDPR Cookie ComplianceWordPress plugin1.00 kBlighterA notice with one « Accept » button and no reject; it holds no tracker: the Google tag and the Meta pixel load before any choice
- Italy Cookie ChoicesWordPress plugin3.81 kBlighterA notice with one button and no reject; nothing shows until the owner ticks Activate and writes the text; blocking is off by default Measured on 1 November 2026.
- Cookie Notice & ComplianceWordPress plugin0.68 kBlighterIts free version holds no tracker until consent
- WPConsentWordPress plugin5.12 kB× 1.4Script blocking is off until the owner turns it on; with only the banner on, the Google tag and the Meta pixel load before any choice
- Beautiful Cookie ConsentWordPress plugin0.47 kB× 1.7Its free version holds no tracker until consent; blocking needs the premium add-on
- Cookie BarWordPress plugin0.82 kB× 3.2A notice with one « I Understand » button; it holds no tracker: the Google tag and the Meta pixel load before any choice
- Surbma GDPR Proof Cookie ConsentWordPress plugin1.14 kB× 4.1Nothing shows until the owner accepts all legal responsibility in its settings; it holds only the Google Analytics and Meta tags entered in its own settings
- CookieAdminWordPress plugin38.83 kB× 4.4It holds back only the scripts of cookies already in its list, which is empty after installation: trackers load before any choice until the owner scans the site
Hosted banners, weighed on their own websites or on our test page
- Complianz (premium, on complianz.io)Hosted, on its own website1.52 kB× 2.0Each next page adds 1.52 kB against 1.00 kB: over 10 pages, 36.19 kB against 20.43 kB. Measured on 11 October 2026.
- Borlabs Cookie (paid, on borlabs.io)Hosted, on its own website5.54 kB× 7.3Each next page adds 5.54 kB against 1.00 kB: over 10 pages, 133.61 kB against 20.43 kB. Measured on 13 October 2026.
- TermlyHosted, on our test page0.02 kB× 14Trial account, on our test page. See the note under the list.
Cookie Rocks has the lightest first visit among banners that hold trackers. “Hold” means the tool can hold trackers, not that it does so right after installation: on our test bench, no competitor held our test tools as installed. It is not the lightest on every visit: tarteaucitron.js (library, not the WordPress plugin) passes it after about 97 pages in one visit, at 0.47 kB for each next page against 1.00 kB.
Termly: 159.02 kB on the first visit, then 0.02 kB on each next page, because its files stay in the browser cache. We deduced that from the vendor’s headers. This next-page figure counts only the vendor’s files: the script tag pasted into each page is not counted, while our 1.00 kB counts what is written into the page. So the next-page comparison is not like for like. Over a whole visit, Termly only catches Cookie Rocks after about 150 pages viewed, and only if the cache holds.
How far you can trust these numbers
We make one of the products on this page. So here is what holds, and what does not.
What is solid
- The same clean WordPress, the same page and the same phone profile for every plugin. The tarteaucitron library is installed by hand.
- A fresh browser profile each time, with every file re-compressed the same way (gzip -9), headers not counted.
- Three runs per plugin, with the version shown, and the date when a figure is older.
The real limits
- Default settings, free versions of the others. Complianz and Real Cookie Banner after their setup wizard. Cookie Rocks is the paid plugin. A configured site can weigh more or less.
- A simple test page on a local server, with no real network. This compares banners; it is not the speed of a real site.
- Measured before any click. What a plugin loads after the visitor clicks is not counted here, for Cookie Rocks or anyone else.
- Weight says nothing about protection. That is why banners that hold trackers and notices that hold nothing are listed apart.
- In the list above, hosted banners are measured on their vendors’ own websites. Further down, the real-site figures come from files downloaded from live sites. Compare orders of magnitude only.
Inside the 11.43 kB
Every part of Cookie Rocks that reaches a visitor, and what stays out until a site needs it.
11.43 kB on the first visit, with the options you pick below
First visit
Each next page 1.00 kB
- Engine 3.31 kB
Reads the choice, holds the tools, sets Google Consent Mode. - Banner 2.93 kB
The banner and the choices, only until the visitor answers. - Starter and settings 1.50 kB
A small script in the page head, and the settings of your site. - Styles 3.48 kB
The look of the banner, in your colours. - Other 0.21 kB
The few lines added to the page itself.
Added only when a site uses them. Click to add one.
Why the next page matters
Most visitors open more than one page. Scripts and stylesheets stay in the browser after the first visit, but whatever a plugin writes inside each page is sent again every time. Pick 3, 5 or 10 pages in the ranking above to see the whole visit.
Cookie Rocks
Writes 1.00 kB into each page: a small starter script. Everything else stays in the cache.
CookieYes
Writes its whole stylesheet and its settings into every page: +6.67 kB on each page.
Real Cookie Banner
Writes its settings into every page: +10.80 kB on each page, and builds its styles with JavaScript.
Hosted banners, measured on real sites
Hosted banners load from their vendor’s servers, and what they load depends on each site. So we weighed them where they really run: on the sites of our harvests, banner files only. An order of magnitude, not a test-bench figure.
Cookie Rocks is measured on 58 sites we set up ourselves, every file it adds. For a hosted banner, only the first files are seen, so its figure is a minimum. Close methods, not identical.
- Cookie Rocks58 sites11.02 kB10.54 kB to 12.31 kB
- CookieYes73 sites17.24 kB5.21 kB to 67.52 kB
- Cookie Script13 sites27.12 kB19.76 kB to 115.11 kB
- Cookiebot94 sites29.02 kB28.27 kB to 97.50 kB
- CookieFirst4 sites62.23 kB62.14 kB to 62.25 kB
- iubenda33 sites109.62 kB3.71 kB to 133.57 kB
- Usercentrics25 sites121.99 kB81.88 kB to 374.35 kB
- consentmanager48 sites140.23 kB123.14 kB to 265.52 kB
- Termly8 sites146.92 kB6.86 kB to 152.80 kB
- OneTrust68 sites149.31 kB0.52 kB to 183.65 kB
- Didomi38 sites172.55 kB165.91 kB to 422.51 kB
- Axeptio13 sites339.19 kB334.52 kB to 342.60 kB
Each bar runs from the lightest site to the heaviest; the short upright line marks the median.
Method and limits
Hosted banner files only, on real websites. For each site of the watch harvests (mostly WordPress home pages, visited from the country of each harvest), the banner's script and frame addresses recorded by the harvest on the banner host (up to three per host, without parameters) were downloaded from the vendor's servers; first visit, nothing in cache. Each site is counted once. The vendors' files were read without visiting any client of Cookie Rocks.
Each figure depends on the site's own setup of the banner (languages, listed services, design). It is a lower bound: only the first scripts and frames per host were recorded, not the configuration files, styles, fonts and images they load next. The bench figures (Cookie Rocks and plugins) are measured on a clean WordPress with default settings and count every file the plugin adds: the two are close in method but not identical, so show them side by side, without a multiplier. Banners served by the site itself (Borlabs Cookie, Complianz, Real Cookie Banner) are not in this list: harvests record third-party hosts only.
Measured on 2026-11-01, on sites harvested from 2026-10-15 to 2026-10-31.
How fast each banner is
Weight is one thing; speed is another. The same page and the same slowed-down processor for every banner that holds trackers, next to the page without any banner.
| Banner | Largest paint | Blocking time | Layout shift | Response to a click |
|---|---|---|---|---|
| Without a banner | 988 ms | 0 ms | 0.000 | – |
| GDPR Cookie Compliance (Moove) 5.3.1 | 968 ms | 0 ms | 0.000 | 16 ms |
| Complianz 7.5.7 | 1,024 ms | 0 ms | 0.000 | 16 ms |
| Cookie Rocks 2.11.1 | 1,060 ms | 0 ms | 0.000 | 16 ms |
| Pressidium Cookie Consent 1.9.2 | 1,064 ms | 0 ms | 0.000 | 16 ms |
| CookieYes 3.5.8 | 1,092 ms | 0 ms | 0.000 | 16 ms |
| tarteaucitron.js (library, not the WordPress plugin) 1.37.0 | 1,116 ms | 8 ms | 0.000 | 16 ms |
| Real Cookie Banner 5.4.0 | 1,176 ms | 0 ms | 0.000 | 40 ms |
| WP Cookie Consent (WPLP) 4.5.0 | 1,608 ms | 0 ms | 0.000 | 16 ms |
Measured on a local test site: 5 runs per plugin, median, processor slowed down 4 times, no network delay. A few milliseconds change from one run to the next, so read small gaps as equal. The click is on the first-layer button; 16 ms means 16 ms or less. This compares banners; it is not the speed of a real site.
Light on your server too
- 0database queries of its own: only the settings WordPress already loads
- 33PHP files read per page, 761 kB in all
- 401visitor texts, 104 kB, kept in memory by PHP
- 0lines of administration code loaded on your pages
- 0law pages loaded for your visitors
Measured on Cookie Rocks 2.11.1 on a test WordPress with known trackers and the banner on, median of three runs (2026-11-06). This is work on your server, not weight downloaded by your visitors.
How we measured
The same test for every banner, repeated at each new version. Short version below; every detail in the full method.
- A clean WordPressOne plugin, nothing else, the same page for all.
- Default settingsPublic zip, shortest setup, no account.
- A phone, no clickEmpty cache, phone screen, three runs.
- Every byte countedCompressed size, 1 kB = 1,000 bytes as in Chrome’s Network panel, measured again at each new version.
- Hosted bannersComplianz (premium, on complianz.io) and Borlabs Cookie (paid, on borlabs.io) need an account to show anything on a test site: we weighed each one on its own website.
The full method
- Each plugin on its own clean WordPress 7.1.3 (PHP 8.3), theme Twenty Twenty-Five, one page of text, no other plugin, run locally with WordPress Playground.
- Installed from its public zip, activated, then only the shortest default steps to show its banner. No vendor account, no API key.
- First visit: a fresh Chrome profile, empty cache, no cookies, phone screen (390 × 844), no click. Next page: a second page of the same site in the same browser, cache on, still no click. Files are given ordinary production cache headers. Three runs per plugin.
- Every request recorded; text files measured after gzip compression; fonts and images as served. Sizes in kB, with 1 kB = 1,000 bytes, as in Chrome’s Network panel, to two decimals and never rounded.
- Hosted banners need a vendor account before they show anything on a test site, so they are weighed on their own websites: only the requests that belong to the banner, first page and next page, on a phone, without clicking.
- Measured again by our watch service whenever a plugin publishes a new version. This is transfer size, not processor time or real-world speed.
- The scripts, the setup steps for each plugin and the raw results are kept with this page, so anyone can run the test again. Found an error? Tell us and we will correct it.
The raw figures: WordPress plugins
| Plugin (version) | First visit | Each next page | JavaScript | CSS | Requests | Reject button on the first screen |
|---|---|---|---|---|---|---|
| Cookie Rocks 2.11.1 | +11.43 kB | +1.00 kB | +7.74 kB | +3.48 kB | +3 | Yes |
| CookieYes 3.5.8 | +16.55 kB | +6.67 kB | +13.37 kB | None as a stylesheet: its styles travel inside its JavaScript | +3 | Yes |
| Complianz 7.5.7 | +18.71 kB | +2.92 kB | +12.45 kB | +4.04 kB | +3 | Yes |
| Pressidium Cookie Consent 1.9.2 | +18.94 kB | +1.92 kB | +13.67 kB | +4.76 kB | +4 | No |
| tarteaucitron.js (library, not the WordPress plugin) 1.37.0 | +62.21 kB | +0.47 kB | +57.17 kB | +4.99 kB | +4 | Yes |
| GDPR Cookie Compliance (Moove) 5.3.1 | +103.18 kB | +2.68 kB | +52.71 kB | +9.48 kB | +7 | Yes, adds jQuery |
| Real Cookie Banner 5.4.0 | +104.02 kB | +10.80 kB | +93.40 kB | None as a stylesheet: its styles are built by its JavaScript | +7 | Yes |
| WP Cookie Consent (WPLP) 4.5.0 | +133.08 kB | +31.97 kB | +103.44 kB | +8.59 kB | +11 | Yes, adds jQuery |
Measured on Cookie Rocks 2.11.1, on 6 November 2026.
The raw figures: hosted banners
| Banner, on the vendor’s own site | First visit | Each next page |
|---|---|---|
| Complianz (premium, on complianz.io) 11 October 2026 | 22.51 kB | 1.52 kB |
| Borlabs Cookie (paid, on borlabs.io) 13 October 2026 | 83.75 kB | 5.54 kB |
This is each vendor’s own setup, on the date shown: compare orders of magnitude, not exact figures. Cookie Rocks runs from your own site, so its figures above are the ones that apply to yours.
Don’t take our word for it
Measure it on your own site.
your pages, your numbers
Take a 30-day key, run Lighthouse or PageSpeed Insights before and after, and compare. Every feature is on during the trial, and nothing breaks on day 31.
- During the trial: everything, including the full settings and the scans
- After 30 days without a key: the banner, your visitors’ choices and your proofs of consent keep working
- What waits for a key: most settings, updates and support

Get your trial key
Your e-mail and your site. Your key arrives as soon as you confirm your e-mail.
Names cited are trademarks of their respective owners. Cookie Rocks is not affiliated with them.